रास्पबेरी पाई पर स्थापित एनपीएम (व्हीजी इमेज)


28

मैं इस साल पेड़ के नीचे रास्पबेरी पाई पाने के लिए काफी भाग्यशाली था और मैंने डिवाइस पर Node.js के साथ खेलने में थोड़ा मज़ा किया है। हालाँकि, जब आप संकुल को खींच सकते हैं और उन्हें अपने अनुप्रयोगों में प्लग कर सकते हैं, तो Node.js बहुत अधिक दिलचस्प है - और यह वह जगह है जहाँ मुझे कुछ परेशानी हो रही है।

यदि मैं Node.js के साथ एनपीएम को निम्नलिखित कमांड के साथ स्थापित करने का प्रयास करता हूं:

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.

मैं बहुत नया हूं कि डेबियन-आधारित लिनक्स ऑपरेटिंग सिस्टम के साथ पैकेज प्रबंधन कैसे काम करता है और यह बिल्कुल नहीं जानता कि नोड.जेएस समुदाय ने अपने विशिष्ट पैकेजों को कैसे संरचित किया है। यह ध्यान देने योग्य है कि अपने आप ही नोड.जेएस स्थापित करना ठीक काम करता है, और अगर मैं एनपीएम को केवल अपने आप से स्थापित करने का प्रयास करता हूं तो मुझे यही मिलता है।

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

रास्पबेरी पाई पर 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
यह उत्तर अप-टू-डेट एक है।
एरियल

1
यह अब तक का सबसे अच्छा समाधान था, लेकिन मैंने सिर्फ एक और पाया, एनवीएम (नोड संस्करण प्रबंधक) का उपयोग करके जो आपको नोड को आसानी से अपडेट करने की अनुमति देता है, लेकिन एक ही समय में विभिन्न संस्करणों का उपयोग भी करता है। वे सभी उपयोगकर्ताओं के लिए नोड एक्सेस की अनुमति देने के लिए सिमलिंक चरण साझा करते हैं। एक छोटा ट्यूटोरियल यहाँ losant.com/blog/how-to-install-nodejs-on-raspberry-pi है , जो सिमिलिंक मुद्दों से बचने के लिए एक समाधान के साथ है: stackoverflow.com/a/29903645/3480671
bhchch

एनबी: /usr/local/binथोड़ा और अधिक में एक स्थानीय-व्यवस्थापक से प्रबंधित filedump करने के लिए स्थानीय-व्यवस्थापक से प्रबंधित सांकेतिक लिंक के लिए उपयुक्त होगा/opt
JamesTheAwesomeDude

यह मेरे लिए काम करता है, वास्तविक मुद्दा मैं यह था कि एनपीएम नोड के साथ नहीं आया था, लेकिन एनपीएम एक स्टैंडअलोन के रूप में मौजूद नहीं था, यह एनपीएम स्थापित हो गया, लेकिन अब नोड काम नहीं करता है
जैकब श्नाइडर

4

Adafruit एक (अपेक्षाकृत) वर्तमान नोड और npm प्रदान करता है। एक संकलन को मददगार नहीं मिल पाने के बाद इसने मेरे लिए कई पैकेजों के साथ काम किया (एक्सप्रेस, बॉडी-पार्सर, स्नातकोत्तर)


2

मैं पी 3 पर रास्पियन जेसी चलाता हूं। नोड छवि में पूर्व-स्थापित आता है लेकिन एनपीएम नहीं करता है । एनपीएम स्थापित करने में चुनौतियां थीं और इस धागे ने मुझे सुराग पाने में मदद की।

मुझे जो त्रुटि प्राप्त हुई थी

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

अनुक्रम में नीचे के 2 आदेशों ने मेरी मदद की

sudo apt-get update
sudo apt-get install npm

3
क्या आप इसे अधिक पठनीय बनाने के लिए अपनी पोस्ट को संपादित कर सकते हैं। क्या पाठ की दीवार वास्तव में आवश्यक है?
Ghanima

2

मैं किसी भी रास्पबेरी पीआई (शून्य से 3) पर एनपीएम (और Node.js का नवीनतम संस्करण) प्राप्त करने का सबसे आसान तरीका ढूंढता हूं "एनवीएम" ( नोड संस्करण प्रबंधक ) का उपयोग करना है।

एनवीएम स्थापित करने के लिए:

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 --version

यह मेरे pi 3b + के लिए मेरे लिए अच्छा काम करता था पहला समाधान npm 1.6 स्थापित किया और संकुल स्थापित करते समय त्रुटियों में चलता रहा। एनवीएम ने चीजों को ठीक से चलाया और चलाया।
सर्किलसम

1

यदि आप बाइनरी पैकेज के साथ समस्याओं में चल रहे हैं, तो मैं आपको खुद इसे संकलित करने की सलाह दूंगा, इस तरह से आपको बेहतर विचार मिलता है जबकि कुछ विफल हो रहा है / बाइनरी पैकेज एक अलग प्रकार के प्रोसेसर (एआरएम नहीं) के लिए हो सकता है।

मेरा सुझाव है कि रास्पबेरी पाई नोडजेएस संकलन निर्देशों के लिए https://gist.github.com/3301813 की जाँच करें।


धन्यवाद बेन। मैं उस लेख से पहले आया था। मैंने मान लिया कि NPM Node.js स्रोत वृक्ष से अलग हो सकता है?

NPM स्रोत github.com/isaacs/npm पर अलग है, हालांकि नोडज के लिए हाल के संस्करण आमतौर पर npm बंडल के साथ आते हैं।

1

जैसा कि बेन ने बताया कि मैं रास्पबेरी पाई पर अपने स्वयं के नोड्यूज को संकलित करने का सुझाव दूंगा। 0.8.10 के बाद से (या तो) यह आगे की हलचल के बिना संभव है। केवल

$ ./configure
$ make
$ sudo make install

और बस। फिर Node.js सहित स्थापित किए जाएंगेnpm

एक आकर्षण की तरह काम करता है :-)!


धन्यवाद गोलो। मिनिटेक ने एक जवाब दिया जो मेरे लिए बेहतर काम करता है। रास्पबेरी पाई काफी धीमी है इसलिए मुझे लगता है कि इमारत, फिर स्थापित करना थोड़ा अधिक दर्दनाक होगा।

1
कृपया Node.js के संस्करण पर एक नज़र डालें apt-get, और फिर इस संस्करण की तुलना Node.js के वर्तमान संस्करण से करें, और आपको पता चल जाएगा कि मैंने उपयोग करने का सुझाव क्यों नहीं दिया apt-get... ;-)
Golo Roden

मैं कुछ पूर्व संकलित tarballs कि एक रास्पबेरी पाई पर इस्तेमाल किया जा सकता है अगर आप वास्तव में संकलन करने के लिए स्रोत के लिए इंतजार नहीं करना चाहते हैं। gist.github.com/3245130
एडम मेगावाट

1

आप जो कुछ भी करते हैं, वह टाइप है

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

यह मेरे लिए काम करता है और मैं इसे बिना किसी त्रुटि के स्थापित करने में सक्षम था और इसे एक कार्यक्रम के साथ काम करना चाहिए!


1
कृपया अधिक सटीक हो: आपने इस तरह से नोड का कौन सा संस्करण स्थापित किया था, पैकेज स्रोत क्या था (क्या आपने नया जोड़ा है?), आपने किस ओएस पर स्थापित किया है, आपके पास क्या rPi संस्करण है, यह नोड आर्च क्या है ( armv6, v7)। आप उत्तर दे सकते हैं कि कुछ हल हो सकता है, लेकिन हमें नहीं पता कि कोई इसका उपयोग क्या करेगा।
बोसच

0

इस पोस्ट को फॉलो करने की कोशिश करें । मैं npm को / ऑप्ट / नोड / npm पर चलाने का प्रबंधन करता हूं, लेकिन जब मैं इसे / usr / bin / पर कॉपी करता हूं तो यह 'npmlog' छूट जाता है।


आईटी को प्राथमिकता दी जाती है कि आप अतिरिक्त जानकारी के लिए अपने स्रोत को जिम्मेदार ठहराते हुए उत्तर में दिए गए चरणों को कॉपी करें, यदि स्रोत साइट नीचे चली जाती है, तो पृष्ठ हटा दिया जाता है या स्थानांतरित कर दिया जाता है, आदि कम से कम प्रक्रिया के व्यापक स्ट्रोक का सारांश।
टेवो डी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.