Raspberry Pi에 NPM 설치 (Wheezy Image)


28

나는 올해 나무 아래에 Raspberry Pi를 얻을만큼 운이 좋았고 장치에서 Node.js를 가지고 노는 것이 약간 재미있었습니다. 그러나 Node.js는 패키지를 풀다운하여 애플리케이션에 연결할 수있을 때 훨씬 더 흥미 롭습니다.

다음 명령으로 Node.js와 함께 NPM을 설치하려고하면 :

sudo apt-get install nodejs npm

다음과 같은 오류가 발생합니다.

pi@raspberrypi ~ $ sudo apt-get install nodejs npm
Reading        package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nodejs : Breaks: npm (< 1.1.4~dfsg-2~) but 1.1.4~dfsg-1 is to be installed
 npm : Depends: node-semver but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

패키지 관리가 Debian 기반 Linux 운영 체제에서 작동하는 방식에 익숙하지 않으며 node.js 커뮤니티가 특정 패키지를 어떻게 구성했는지에 대해 전혀 모릅니다. node.js 자체를 설치하면 제대로 작동한다는 사실에 주목할 가치가 있습니다 .NPM을 단독으로 설치하려고하면 이것이 내가 얻는 것입니다.

pi@raspberrypi ~ $ sudo apt-get install npm
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 npm : Depends: nodejs but it is not going to be installed
       Depends: nodejs-dev but it is not going to be installed
       Depends: node-request but it is not going to be installed
       Depends: node-mkdirp but it is not going to be installed
       Depends: node-minimatch but it is not going to be installed
       Depends: node-semver but it is not going to be installed
       Depends: node-ini but it is not going to be installed
       Depends: node-graceful-fs but it is not going to be installed
       Depends: node-abbrev but it is not going to be installed
       Depends: node-nopt but it is not going to be installed
       Depends: node-fstream but it is not going to be installed
       Depends: node-rimraf but it is not going to be installed
       Depends: node-tar but it is not going to be installed
       Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

확실하지 않지만 내 직감은 node-semver패키지 와 관련이 있다고 말합니다 . 나는 설치하는 경우 nodejs자체 패키지를 다음 설치하려고 node-semver이것이 내가 얻을 출력입니다.

pi@raspberrypi ~ $ sudo apt-get install node-semver
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 node-semver : Depends: nodejs but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

어떤 포인터?

답변:


22

모두 함께 설치하십시오.

sudo apt-get install nodejs npm node-semver

32

이것은 raspberry pi에 NodeJ를 설치하는 가장 좋은 방법입니다. 그런 방식이 마음에 듭니다. 쉽게 할 수 있다고 생각합니다. 나중에 업데이트하려면 '/ opt / nodejs'폴더를 새 릴리스로 바꾸십시오.

wget https://nodejs.org/dist/v4.2.4/node-v4.2.4-linux-armv6l.tar.gz

sudo mv node-v4.2.4-linux-armv6l.tar.gz /opt

cd /opt

sudo tar -xzf node-v4.2.4-linux-armv6l.tar.gz

sudo mv node-v4.2.4-linux-armv6l nodejs

sudo rm node-v4.2.4-linux-armv6l.tar.gz

sudo ln -s /opt/nodejs/bin/node /usr/bin/node

sudo ln -s /opt/nodejs/bin/npm /usr/bin/npm

마지막 라즈베리 버전에는 arm71 버전도 있습니다.


2
이 답변은 최신 답변입니다.
Uriel

1
이것은 지금까지 가장 좋은 솔루션이지만 방금 노드를 쉽게 업데이트 할 수 있지만 동시에 다른 버전을 사용할 수있는 nvm (Node Version Manager)을 사용하여 다른 것을 발견했습니다. 모든 사용자가 노드에 액세스 할 수 있도록 symlink 단계를 공유합니다. symlink 문제를 피할 수있는 솔루션이 포함 된 losant.com/blog/how-to-install-nodejs-on-raspberry-pi에 대한 간단한 자습서 : stackoverflow.com/a/29903645/3480671
bosch

NB : /usr/local/bin로컬 관리자 관리 파일 덤프에 대한 로컬 관리자 관리 기호 링크에 약간 더 적합합니다./opt
JamesTheAwesomeDude

실제로 문제는 NPM에 노드가 없었지만 NPM이 독립형으로 존재하지 않았으며 NPM이 설치되었지만 노드가 작동하지 않는다는 것입니다
Jacob Schneider

4

Adafruit 는 (상대적으로) 현재 노드와 npm을 제공합니다. 도움이되는 컴파일을 찾지 못한 후에 이것은 여러 패키지 (express, body-parser, pg)로 저에게 효과적이었습니다.


2

pi 3에서 raspbian jessie를 실행합니다. 이미지에 노드가 사전 설치되어 있지만 npm은 그렇지 않습니다 . npm을 설치하는 데 어려움이 있었고이 스레드가 단서를 얻는 데 도움이되었습니다.

내가받은 오류는

pi@raspberrypi:~ $ **sudo apt-get install nodejs npm node-semver**
Reading package lists... Done
Building dependency tree       
Reading state information... Done
nodejs is already the newest version.
nodejs set to manually installed.
The following extra packages will be installed:
  gyp libc-ares-dev libjs-node-uuid libjs-underscore libssl-dev 
  libssl-doc libv8-3.14-dev node-abbrev node-ansi node-ansi-color-table 
  node-archy node-async node-block-stream node-combined-stream 
  node-cookie-jar node-delayed-stream node-forever-agent node-form-data 
  node-fstream node-fstream-ignore node-github-url-from-git node-glob 
  node-graceful-fs node-gyp node-inherits node-ini node-json-stringify-safe
  node-lockfile node-lru-cache node-mime node-minimatch
  node-mkdirp node-mute-stream node-node-uuid node-nopt node-normalize-package-data
  node-npmlog node-once node-osenv node-qs node-read node-read-package-json
  node-request node-retry node-rimraf node-sha node-sigmund node-slide 
  node-tar node-tunnel-agent node-underscore node-which nodejs-dev
Suggested packages:
  node-hawk node-aws-sign node-oauth-sign node-http-signature
The following NEW packages will be installed:
  gyp libc-ares-dev libjs-node-uuid libjs-underscore libssl-dev 
  libssl-doc libv8-3.14-dev node-abbrev node-ansi node-ansi-color-table 
  node-archy node-async node-block-stream node-combined-stream 
  node-cookie-jar node-delayed-stream node-forever-agent node-form-data   
  node-fstream node-fstream-ignore node-github-url-from-git node-glob 
  node-graceful-fs node-gyp node-inherits node-ini node-json-stringify-safe
  node-lockfile node-lru-cache node-mime node-minimatch
  node-mkdirp node-mute-stream node-node-uuid node-nopt node-normalize-package-data
  node-npmlog node-once node-osenv node-qs node-read node-read-package-json
  node-request node-retry node-rimraf node-semver node-sha node-sigmund 
  node-slide node-tar node-tunnel-agent node-underscore node-which  
  nodejs-dev npm
0 upgraded, 55 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,222 kB/3,708 kB of archives.
After this operation, 13.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
**Err http://mirrordirector.raspbian.org/raspbian/ jessie/main libssl-dev armhf 1.0.1k-3+deb8u2
  404  Not Found [IP: 5.153.225.207 80]
Err http://mirrordirector.raspbian.org/raspbian/ jessie/main libssl-doc all 1.0.1k-3+deb8u2
  404  Not Found [IP: 5.153.225.207 80]
E: Failed to fetch 
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?**
pi@raspberrypi:~ $ 

아래의 두 가지 명령이 순서대로 도움이되었습니다.

sudo apt-get update
sudo apt-get install npm

3
게시물을 더 읽기 쉽게 편집 할 수 있습니까? 텍스트 벽이 정말로 필요한가요?
Ghanima

2

Raspberry PI (Zero to 3)에서 NPM (및 최신 버전의 Node.js)을 얻는 가장 쉬운 방법은 "NVM"( Node Version Manager )을 사용하는 것입니다.

NVM을 설치하려면

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.6/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

설치되면 언제든지 다음과 같이 최신 버전의 Node.js를 다운로드 할 수 있습니다.

nvm install node

끝난!

NPM이 설치되어 있는지 확인하십시오.

npm --version

이것은 내 pi 3b + npm 1.6에 설치된 첫 번째 솔루션에서 잘 작동했으며 패키지를 설치할 때 오류가 계속 발생했습니다. NVM이 제대로 작동했습니다.
sirclesam

1

이진 패키지에 문제가 발생하면 직접 컴파일하는 것이 좋습니다.이 방법을 사용하면 문제가있는 동안 더 잘 알 수 있습니다 / 이진 패키지는 ARM이 아닌 다른 유형의 프로세서에 대한 것일 수 있습니다.

Raspberry Pi NodeJS 컴파일 지침에 대해서는 https://gist.github.com/3301813 을 확인하는 것이 좋습니다 .


고마워 벤. 나는 전에 그 기사를 보았습니다. NPM이 Node.js 소스 트리와 분리되어 있다고 가정 했습니까?

NPM은 소스 github.com/isaacs/npm과 별개 이지만 nodejs 의 최신 버전에는 일반적으로 npm 번들이 제공됩니다.

1

Ben이 지적했듯이 Node.js를 Raspberry Pi에서 직접 컴파일하는 것이 좋습니다. 0.8.10 (또는 그 이상)이므로 더 이상 고민하지 않아도됩니다. 간단히

$ ./configure
$ make
$ sudo make install

그리고 그게 다야. 그런 다음를 포함하여 Node.js가 설치됩니다 npm.

charme처럼 작동합니다 :-)!


감사합니다 골로. Minitech는 나에게 더 잘 맞는 답변을 제공했습니다. 라즈베리 파이는 상당히 느리므로 건물을 짓고 설치하는 것이 조금 더 고통 스럽다고 생각합니다.

1
를 사용하여 설치되는 Node.js 버전을 확인한 apt-get다음이 버전을 현재 버전의 Node.js와 비교하면 apt-get... ;-) 를 사용하지 않는 이유를 알 수 있습니다 .
Golo Roden

소스가 컴파일되기를 정말로 기다리지 않으려면 Raspberry Pi에서 사용할 수있는 사전 컴파일 된 타르볼을 만들었습니다. gist.github.com/3245130
Adam MW

1

입력 만하면됩니다

pi@raspberrypi ~ $ sudo apt-get install nodejs npm node-semver 

그것은 나를 위해 일했고 오류없이 설치할 수 있었고 프로그램과 함께 작동해야합니다!


1
더 정확하게 말하면, 어떤 방식으로 노드를 설치 했습니까? 패키지 소스는 무엇입니까? armv6, v7). 당신은 대답으로 무언가를 해결할 수 있지만 우리는 아무도 그것을 사용할지 모른다.
보쉬

0

게시물 을 따르십시오 . / opt / node / npm에서 npm을 실행할 수 있지만 / usr / bin /에 복사하면 'npmlog'가 누락됩니다.


소스 사이트가 다운되거나 페이지가 삭제되거나 이동하는 경우 등 추가 정보를 얻기 위해 소스를 제공하는 동안 단계를 답변에 복사하는 것이 좋습니다. 최소한 프로세스의 광범위한 스트로크 요약.
Tevo D
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.