npm에서 노드 모듈을 설치할 수 없습니다.
npm install socket.io
위의 명령으로 인해 출력이 낮아져 socket을 설치할 수 없습니다.
npm http GET https://registry.npmjs.org/socket.io
npm ERR! Error: failed to fetch from registry: socket.io
npm ERR! at /opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR! at cb (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:32:9)
npm ERR! at Request._callback (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:137:18)
npm ERR! at Request.callback (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:109:22)
npm ERR! at Request.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:198:58)
npm ERR! at Request.emit (events.js:88:20)
npm ERR! at ClientRequest.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:195:10)
npm ERR! at ClientRequest.emit (events.js:67:17)
npm ERR! at CleartextStream.<anonymous> (http.js:1134:11)
npm ERR! at CleartextStream.emit (events.js:67:17)
npm ERR! You may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR!
npm ERR! System Linux 2.6.18-194.el5
npm ERR! command "node" "/opt/node0610/bin/npm" "install" "socket.io"
npm ERR! cwd /opt/node0610/lib/node_modules
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.0-3
npm ERR! message failed to fetch from registry: socket.io
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /opt/node0610/lib/node_modules/npm-debug.log
npm not ok
내 NPM 버전은 다음과 같습니다.
[applmgr@dev node_modules]$ npm --version
1.1.0-3
내 NodeJS 버전은 다음과 같습니다.
[applmgr@dev node_modules]$ node --version
v0.6.10
답변
리포지토리 버전 인 npm v1.1.4
(및 node v0.6.12
) 에서이 문제가 발생했습니다 Ubuntu 12.04
.
해당 버전이 npm
더 이상 지원되지 않는 것처럼 보이며 노드를 업데이트하고 노드를 npm으로 업데이트하면 문제가 해결되었습니다.
먼저 오래된 버전을 제거하십시오 (선택 사항이지만 전역 모듈에 경로가 지정되지 않은 문제가 해결되었다고 생각합니다).
sudo apt-get purge nodejs npm
그런 다음 nodesource의 저장소를 활성화하고 설치하십시오.
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs
참고-이전 조언은 Chris Lea의 저장소를 사용하는 것이 었으며 이제 노드 소스로 마이그레이션했습니다.
- https://chrislea.com/2014/07/09/joining-forces-nodesource/
- https://nodesource.com/blog/chris-lea-joins-forces-with-nodesource
부터 : here
답변
https://github.com/isaacs/npm/issues/2119
아래 명령을 실행해야했습니다.
npm config set registry http://registry.npmjs.org/
그러나 npm
안전하지 않은 HTTP 연결을 통해 설치 패키지를 만듭니다 . 가능하다면
npm config set registry https://registry.npmjs.org/
대신 HTTPS를 통해 설치하십시오.
답변
우분투에 있습니다. apt-get을 사용하여 노드를 설치했습니다. Npm은 해당 패키지에 포함되어 있지 않으므로 별도로 설치해야합니다. 나는 그것이 효과가 있다고 가정했지만 우분투 배포판의 npm 버전은 구식이었습니다.
노드 위키 에는 다음과 같은 명령이 있습니다.
최신 버전의 Node를 얻거나 이전 Ubuntu 및 기타 apt 기반 배포판에 설치하려면 몇 가지 추가 단계가 필요할 수 있습니다. 설치 예 :
sudo apt-get update
sudo apt-get install -y python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
그 후, npm은 이미 포함되어 완벽하게 작동했습니다.
답변
나에게 그것은 일반적으로 프록시 문제이며 모든 것을 시도합니다.
npm config set registry http://registry.npmjs.org/
npm config set strict-ssl false
npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
set HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
set HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export http_proxy=http://myusername:mypassword@proxy.us.somecompany:8080
npm --proxy http://myusername:mypassword@proxy.us.somecompany:8080 \
--without-ssl --insecure -g install
답변
add-apt-repository가 작동하려면 software-properties-common을 설치해야합니다. 그래서 그것은
sudo apt-get purge nodejs npm
sudo apt-get install -y python-software-properties python g++ make software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
답변
임의의 npm 설치 오류 (오류가있는 패키지가 다른 시간 (그러나 동일한 환경)에서 다른 경우)에서 나를 위해 일한 한 가지는 다음을 사용하는 것입니다.
npm cache clean
그런 다음 프로세스를 반복하십시오. 그러면 프로세스가 더 순조롭게 진행되고 실제 문제와 오류 메시지가 나타나 수정하고 진행할 수 있습니다.
이것은 Docker 인스턴스 내부의 Ubuntu 설치에서 전체 패키지 묶음의 npm 설치 실행 경험을 기반으로합니다. 때로는 우분투에서 빌드 / 작성 도구가 누락되어 어떤 이유로 캐시를 정리할 때까지 npm 오류에 실제 문제가 표시되지 않습니다.
답변
이 문제는 https 프로토콜로 인해 발생하므로 다른 솔루션이 작동합니다 (비보안 프로토콜로 전환).
나에게 가장 좋은 해결책은 npm을 포함하는 최신 버전의 노드를 컴파일하는 것이 었습니다.
apt-get purge nodejs npm
git clone https://github.com/nodejs/node ~/local/node
cd ~/local/node
./configure
make
make install
