簡體   English   中英

在OSX 10.9.4上無法通過brew安裝node / npm

[英]node / npm failed to install via brew on OSX 10.9.4

我認為這是一個新問題,花了我幾個小時才解決:

$ brew install node -v
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-  0.10.31.mavericks.bottle.tar.gz

..

npm ERR! Error: EACCES, mkdir '/../.npm/nopt/2.1.2'
npm ERR!  { [Error: EACCES, mkdir '/../.npm/nopt/2.1.2']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',

通過( https://github.com/Homebrew/homebrew/issues/28501#issuecomment-53907840 )解決了安裝npm的問題:

$ brew update
$ sudo chown -R $USER /usr/local

但這弄亂了我的系統。 在運行“磁盤實用程序”中的“修復磁盤權限”之前,我無法再使用“ sudo”。

將這些系統庫的所有權更改為最終用戶帳戶是不安全的-此外,出於已知的安全原因,Web服務器絕不應該由root擁有,因此對於節點也是如此-您已使您的機器處於危險之中

這是在OSX / linux上安裝node / npm的安全方法

要開始全新刪除先前的node.js和npm安裝以及這些:

sudo mv ~/.npmrc ~/.npmrc_ignore
sudo mv ~/.npm   ~/.npm_ignore
sudo mv ~/tmp    ~/tmp_ignore
sudo mv ~/.npm-init.js ~/.npm-init.js_ignore

要以非root用戶身份安裝nodejs和npm,請執行以下命令(linux):

mkdir ${HOME}/bin

下載源: http : //nodejs.org/download/

cd node-v0.10.31

./configure   --prefix=${HOME}/bin/nodejs

make -j8
make install

將其放入上述--prefix定義的目錄中

export PATH=${HOME}/bin/nodejs/bin:$PATH

NODE_PATH,因此節點可以找到模塊的目錄,否則npm install xxx會將新安裝的模塊放入curr dir的目錄中:

export NODE_PATH=${HOME}/bin/nodejs/lib/node_modules

執行以上操作並使用語法:npm install xxxxx -g始終將-g用於全局

nodejs安裝也會為您提供npm:

ls -la ${HOME}/bin/nodejs/bin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM