Ahududu Pi'ye NPM kurulumu (Wheezy Image)


28

Ahududu Pi'yi bu yıl ağacın altına sokacak kadar şanslıydım ve cihazda Node.js ile oynamaktan biraz keyif aldım. Ancak, Node.js paketleri indirip uygulamalarınıza ekleyebildiğiniz zaman çok daha ilginç - ve bu noktada sorun yaşıyorum.

NPM'yi Node.js ile birlikte aşağıdaki komutu kullanarak yüklemeye çalışırsam:

sudo apt-get install nodejs npm

Aşağıdaki hatayı alıyorum:

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.

Paket yönetiminin Debian tabanlı Linux işletim sistemleri ile nasıl çalıştığı konusunda oldukça yeniyim ve node.js topluluğunun belirli paketlerini nasıl yapılandırdığı hakkında pek bir şey bilmiyorum. Node.js 'in kurulumunun kendi başına iyi çalıştığını ve NPM'yi kendi başıma kurmaya çalışırsam ne elde edeceğime dikkat etmek gerekir.

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.

Emin değilim, ama bağırsaklarım bana node-semverpaketle ilgili bir şey olduğunu söylüyor . Eğer nodejspaketi kendi başıma kurar ve sonra kurmaya çalışırsam node-semverelde ettiğim çıktıdır.

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.

Herhangi bir işaretçi var mı?

Yanıtlar:


22

Hepsini birlikte yüklemeyi deneyin:

sudo apt-get install nodejs npm node-semver

32

Ahududu pi'ye NodeJ'leri kurmanın en iyi yolu bu, bu şekilde seviyorum ve yapılması kolay olduğunu düşünüyorum ve daha sonra güncelleme için '/ opt / nodejs' klasörünü yeni sürümle değiştirmek için:

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

Ayrıca son Ahududu sürümleri için bir arm71 sürümü olduğunu unutmayın.


2
Bu cevap güncel olanıdır.
Uriel

1
Bu, şu ana kadarki en iyi çözümdü, ancak düğümü kolayca güncellemenizi sağlayan, aynı zamanda farklı sürümleri de kullanmanıza izin veren nvm (Node Version Manager) kullanarak başka bir tane buldum. Tüm kullanıcılar için düğüm erişimine izin vermek için sembolik bağlantı adımlarını paylaşırlar. Burada kısa bir öğretici losant.com/blog/how-to-install-nodejs-on-raspberry-pi sembolik link sorunları önlemek için bir çözüm: stackoverflow.com/a/29903645/3480671
bosch

NB: /usr/local/binyerel yönetici tarafından yönetilen bir yerel filosuna yerel yönetici tarafından yönetilen sembolik bağlantılar için biraz daha uygun olurdu/opt
JamesTheAwesomeDude

benim için işe yaradı, yaşadığım asıl mesele NPM'nin düğümle gelmemesiydi, ancak NPM bağımsız olarak bulunmuyordu, bu NPM'yi kurdu, ama şimdi Düğüm çalışmıyor
Jacob Schneider

4

Adafruit (nispeten) geçerli bir düğüm ve npm sağlar. Bir derleme yararlı bulduktan sonra bu benim için çok sayıda paketle (express, body-parser, pg) çalıştı.


2

Raspbian jessie'yi pi 3'te çalıştırıyorum. Düğüm görüntüye önceden yüklenmiş olarak geliyor ancak npm çalışmıyor . Npm kurulumunda zorluklar vardı ve bu konu bana ipucu almamda yardımcı oldu.

Aldığım hata

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:~ $ 

Aşağıdaki 2 komut sırayla bana yardımcı oldu

sudo apt-get update
sudo apt-get install npm

3
Lütfen daha okunabilir hale getirmek için yayınınızı düzenler misiniz? Metin duvarı gerçekten gerekli mi?
Ghanima

2

Herhangi bir Raspberry PI'de (Sıfırdan 3'e) NPM (ve Node.js'nin en son sürümü) almanın en kolay yolunu "NVM" ( Düğüm Sürüm Yöneticisi ) kullanmaktır.

NVM'yi yüklemek için:

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

Kurulduktan sonra, Node.js dosyasının en son sürümünü istediğiniz zaman indirebilirsiniz:

nvm install node

Bitti!

NPM'nin kurulu olduğunu doğrulayın:

npm --version

Bu benim için iyi çalıştı, pi 3b + 'da npm 1.6 yüklü ilk çözüm vardı ve paketleri kurarken hatalara devam etti. NVM işleri düzgün bir şekilde başlattı.
sirclesam

1

İkili paketlerle ilgili sorunlar yaşıyorsanız, onu kendiniz derlemenizi öneririm, bu şekilde bir şeyler arızalı olduğunda daha iyi bir fikir edinirsiniz / ikili paketler farklı bir işlemci tipi için olabilir (ARM değil).

Raspberry Pi NodeJS Derleme talimatları için https://gist.github.com/3301813 adresini kontrol etmenizi öneririz .


Sağol Ben. Bu yazıya daha önce rastladım. NPM'nin Node.js kaynak ağacından ayrı olabileceğini varsaydım?

NPM, github.com/isaacs/npm adresinde ayrıdır, ancak düğümlerin son sürümleri genellikle paketlenmiş olarak gelir.

1

Ben'in işaret ettiği gibi Node.js'yi Raspberry Pi'de kendiniz derlemenizi öneririm. 0.8.10'dan beri (veya daha fazla) bu daha fazla uzatmadan mümkündür. basitçe

$ ./configure
$ make
$ sudo make install

ve bu kadar. Sonra Node.js dahil olmak üzere kurulacak npm.

Bir charme gibi çalışır :-)!


Sağol Golo. Minitech benim için daha iyi sonuç veren bir cevap verdi. Ahududu Pi oldukça yavaştır, bu yüzden binanın kurmayı ve sonra kurmanın biraz daha acı verici olacağını düşünürdüm.

1
Lütfen Node.js sürümünün yüklü olduğu sürümüne bakın ve bu sürümü Node.js sürümüyle apt-getkarşılaştırın ve neden kullanılmasını önermediğimi anlayacaksınız apt-get... ;-)
Golo Roden

Kaynağın derlenmesini beklemek istemiyorsanız, Raspberry Pi'de kullanılabilecek önceden derlenmiş tarball'lar hazırladım. gist.github.com/3245130
Adam MW

1

Tek yapmanız gereken yazmak

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

Benim için çalıştı ve hatasız kurabildim ve bir programla çalışması gerekiyordu!


1
Lütfen daha kesin olun: bu şekilde hangi düğüm sürümünü yüklediniz, paket kaynağı neydi (yeni bir tane eklediniz mi?), Hangi işletim sistemine yüklediniz, hangi rPi sürümüne sahipsiniz, hangi düğüm kemerine sahipsiniz? armv6, v7). Cevabınız bir şeyi çözebilir ama neyin kullanacağını bilmiyoruz.
Bosch

0

Bu gönderiyi takip etmeye çalışın . / Opt / node / npm'de npm çalıştırmayı başardım, ancak / usr / bin / dizinine kopyaladığımda 'npmlog' yazısını özlüyor.


Kaynak sitenin düşmesi durumunda, sayfanın silinmesi veya taşınması, vb. Gibi durumlarda ek bilgi için kaynak tanımlarken, adımları cevaba kopyalamanız tercih edilir. En azından sürecin geniş vuruşlarının bir özeti.
Tevo D,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.