題:
在Raspberry Pi上安裝NPM(Wheezy映像)
Mitch Denny
2012-12-27 05:15:15 UTC
view on stackexchange narkive permalink

今年我很幸運能在樹下得到一台Raspberry Pi,並且在設備上玩Node.js感到很開心。但是,當您可以拉下軟件包並將其插入應用程序時,Node.js會更加有趣-這就是我遇到麻煩的地方。

如果我嘗試與Node.js一起安裝NPM使用以下命令:

  sudo apt-get install nodejs npm  

我收到以下錯誤:

  pi @raspberrypi〜$ sudo apt-get install nodejs npmReading軟件包列表... DoneBuilding依賴項treeReading狀態信息... DoneSome某些軟件包無法安裝。這可能意味著您請求了一種不可能的情況,或者正在使用不穩定發行版,即尚未創建某些必需的軟件包或將其移出了Incoming。以下信息可能有助於解決這種情況:以下軟件包具有未滿足的依賴項:nodejs:休息時間:npm(< 1.1.4〜dfsg-2〜)但是要安裝1.1.4〜dfsg-1 npm:取決於:node-semver但不會被安裝E:無法糾正問題,您已經掌握了破損的軟件包。 

對於軟件包管理如何與基於Debian的Linux操作系統一起使用,我還很陌生,並且對node.js社區如何構建其特定結構一無所知包。值得注意的是,自行安裝node.js可以正常工作,如果我嘗試自行安裝NPM,這就是我所得到的。安裝npmReading軟件包列表... DoneBuilding依賴關係樹Reading狀態信息...無法安裝DoneSome軟件包。這可能意味著您請求了一種不可能的情況,或者如果您使用的不穩定發行版中尚未創建某些必需的軟件包或將其從Incoming中移出,則以下信息可能有助於解決這種情況:以下軟件包具有未滿足的依賴性: npm:依賴:nodejs,但不會被安裝依賴:nodejs-dev,但不會被安裝依賴:node-request,但不會被安裝依賴:node-mkdirp,但它不會將被安裝取決於:node-minimatch但不會被安裝取決於:node-semver但不會被安裝取決於:node-ini但不會被安裝取決於:node-graceful-fs但它不會被安裝取決於:node-abbrev但不會被安裝取決於:node-nopt但不會被安裝取決於:node-fstream但不會被安裝取決於:node-rimraf但不會被安裝取決於:node-tar但不會被安裝取決於:node-tar但不會被安裝E:無法糾正問題,您拿著破損的包裹。

我不確定,但是我的直覺告訴我與 node-semver 包有關。如果我自己安裝 nodejs 軟件包,然後嘗試安裝 node-semver ,則這是我得到的輸出。

  pi @ raspberrypi〜$ sudo apt-get install node-semverReading軟件包列表... DoneBuilding依賴關係treeReading狀態信息...無法安裝DoneSome軟件包。這可能意味著您請求了一種不可能的情況,或者如果您使用的不穩定發行版中尚未創建某些必需的軟件包或將其從收入中移出,則以下信息可能有助於解決這種情況: semver:依賴:nodejs,但不會安裝E:無法糾正問題,您拿著損壞的軟件包。 

任何指針?

九 答案:
Yassine Khachlek
2015-11-07 16:26:41 UTC
view on stackexchange narkive permalink

這是在樹莓派上安裝NodeJ的最佳方法,我喜歡這種方式,而且我認為這樣做很容易,以後進行更新時,只需用新版本替換'/ opt / nodejs'文件夾:

  wget https://nodejs.org/dist/v4.2.4/node-v4.2.4-linux-armv6l.tar.gzsudo mv node-v4.2.4-linux-armv6l.tar.gz / optcd / optsudo tar -xzf node-v4.2.4-linux-armv6l.tar.gzsudo mv node-v4.2.4-linux-armv6l nodejssudo rm node-v4.2.4-linux-armv6l.tar.gzsudo ln -s / opt / nodejs / bin / node / usr / bin / nodesudo ln -s / opt / nodejs / bin / npm / usr / bin / npm  

請注意,該版本還有arm71版本最新的Raspberry版本。

這個答案是最新的。
到目前為止,這是最好的解決方案,但我剛剛找到了另一個使用nvm(節點版本管理器)的解決方案,它還可以使您輕鬆更新節點,但同時也可以使用不同的版本。它們共享符號鏈接步驟,以允許所有用戶訪問節點。這裡有一個簡短的教程https://www.losant.com/blog/how-to-install-nodejs-on-raspberry-pi,其中包含避免符號鏈接問題的解決方案:http://stackoverflow.com/a/29903645/ 3480671
注意:`/ usr / local / bin`對於本地管理員管理的符號鏈接到/ opt中的本地管理員管理的文件轉儲稍微更合適。
它對我有用,我真正遇到的問題是NPM並未隨Node一起提供,但NPM並沒有獨立存在,因此安裝了NPM,但現在Node無法正常工作
minitech
2012-12-27 23:06:02 UTC
view on stackexchange narkive permalink

嘗試一起安裝它們:

  sudo apt-get install nodejs npm node-semver  
user542319
2015-08-07 19:19:46 UTC
view on stackexchange narkive permalink

Adafruit提供(相對)當前節點和npm。在沒有找到有用的編譯器之後,這對我使用了許多軟件包(express,body-parser,pg)

Krishnan V
2016-04-24 18:32:06 UTC
view on stackexchange narkive permalink

我在pi 3上運行raspbian jessie。該節點已預安裝在映像中,但npm並未安裝

我收到的錯誤是

  pi @ raspberrypi:〜$ ** sudo apt-get install nodejs npm node-semver **正在讀取軟件包列表... DoneBuilding依賴關係樹正在讀取狀態信息... Donenodejs已經是最新版本。nodejs設置為手動安裝。將安裝以下額外的軟件包:gyp libc-ares-dev libjs-node -uuid libjs-下劃線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節點延遲流節點永久代理節點形式數據節點fstream節點fstream忽略節點github url從git節點glob節點graceful-fs節點gyp節點繼承節點ini節點-json-stringify-安全節點鎖定文件節點-lru-cache節點-mime節點-minimatch節點-mkdirp節點-靜音流節點-node-uuid節點-nopt節點-規範化包裝數據節點-npmlog節點-一次節點-osenv node-qs node-read no解包json節點請求節點重試節點rimraf節點sha節點sigmund節點幻燈片tar tar節點隧道代理節點下劃線node-nodejs-dev建議的軟件包:node-hawk node-aws -sign node-oauth-sign node-http-signature將安裝以下新軟件包:gyp libc-ares-dev libjs-node-uuid libjs-underscore libssl-dev libssl-doc libv8-3.14-dev node-abbrev node-ansi節點Ansi顏色表節點體系節點異步節點塊流節點合併流節點Cookie罐節點延遲流節點永遠代理節點形式數據節點流fstream節點fstream-忽略node-github-url-from-git node-glob node-graceful-fs node-gyp node-herites node-ini node-json-stringify-safe node-lockfile node-lru-cache node-mime node-minimatch node- mkdirp節點靜音流節點節點uuid節點nopt節點規範化包裝數據
節點-npmlog節點-一次節點-osenv節點-qs節點-讀取節點-讀取-包裝-json節點-請求節點-重試節點-rimraf節點-semver節點-sha節點-sigmund節點-幻燈片節點-tar節點-隧道-代理節點-下劃線節點-升級了nodejs-dev npm0的節點,新安裝的55個節點,刪除的0個節點和未升級的0個節點。需要獲得2,222 kB / 3,708 kB的歸檔。此操作後,將使用13.3 MB的額外磁盤空間。你想繼續嗎? [是/否] y ** Err http://mirrordirector.raspbian.org/raspbian/ jessie / main libssl-dev armhf 1.0.1k-3 + deb8u2 404未找到[IP:5.153.225.207 80] Err http:/ /mirrordirector.raspbian.org/raspbian/ jessie / main libssl-doc全部1.0.1k-3 + deb8u2 404找不到[IP:5.153.225.207 80] E:無法獲取E:無法獲取某些檔案,也許可以運行apt -get update或嘗試--fix-missing?** pi @ raspberrypi:〜$  

下面的2條命令依次對我有所幫助

  sudo apt-get更新udo apt-get安裝npm  
您能否編輯您的帖子以使其更具可讀性。文字牆真的必要嗎?
Wireblue
2016-08-26 14:15:56 UTC
view on stackexchange narkive permalink

我發現在任何Raspberry PI(零至3)上獲得NPM(以及最新版本的Node.js)的最簡單方法是使用“ NVM”( Node Version Manager)。 / p>

要安裝NVM,

  wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.6/install.sh | bashexport NVM_DIR =“ $ HOME / .nvm” [-s“ $ NVM_DIR / nvm.sh”] &&。 “ $ NVM_DIR / nvm.sh”#這樣會加載nvm  

一旦安裝,您可以隨時下載最新版本的Node.js,如下所示:

  nvm安裝節點 

完成!

驗證已安裝NPM:

  npm --version  
這對我的pi 3b +來說效果很好,第一個解決方案安裝了npm 1.6,並且在安裝軟件包時一直出錯。 NVM使一切正常運行。
Ben Evans
2012-12-27 05:49:48 UTC
view on stackexchange narkive permalink

如果您遇到二進制軟件包的問題,我建議您自己進行編譯,這樣可以更好地了解出現故障的情況/二進制軟件包可能用於其他類型的處理器(而非ARM)

我建議查看 https://gist.github.com/3301813以獲得Raspberry Pi NodeJS編譯說明。

謝謝本。我以前看過那篇文章。我以為NPM可能與Node.js源代碼樹分開?
NPM在來源https://github.com/isaacs/npm處是單獨的,但是nodejs的最新版本通常捆綁了npm。
Golo Roden
2012-12-27 16:38:46 UTC
view on stackexchange narkive permalink

正如Ben指出的那樣,我建議您在Raspberry Pi上自行編譯Node.js。由於0.8.10(或大約),這是沒有可能的事。只需

  $ ./configure$ make $ sudo make install  

即可。然後將安裝包括 npm 在內的Node.js。

像一個迷陣一樣工作:-)!

感謝Golo。 Minitech提供了一個對我來說更好的答案。 Raspberry Pi的運行速度很慢,因此我認為構建然後安裝會比較麻煩。
請查看使用apt-get安裝的Node.js版本,然後將其與當前版本的Node.js進行比較,您會知道為什麼我不建議使用apt-get `... ;-)
我已經製作了一些預編譯的tarball,可以在Raspberry Pi上使用,如果您真的不想等待源代碼編譯的話。 https://gist.github.com/3245130
RaspberryPiScientist
2016-03-15 05:19:01 UTC
view on stackexchange narkive permalink

您要做的就是輸入

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

它對我和我能夠毫無錯誤地安裝它,並且它應該可以與某個程序一起使用!

請更精確:您以這種方式安裝了哪個版本的節點,軟件包的源是什麼(是否添加了新的軟件包?),安裝了什麼操作系統,安裝了哪個rPi版本,它是什麼節點架構( armv6,v7)。您的回答可能會解決一些問題,但我們不知道該怎麼做,因此沒人會使用它。
Vinicius Senna
2013-08-23 09:54:12 UTC
view on stackexchange narkive permalink

嘗試遵循此帖子。我設法在/ opt / node / npm上運行npm,但是當我將其複製到/ usr / bin /時,它會丟失'npmlog'。

IT部門最好將步驟複製到答案中,同時在源中分配其他信息,以防源站點出現故障,頁面被刪除或移動等情況。至少是該過程的概括。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...