2014-10-20 161 views
0

操作系統,安裝步兵:蘋果無法通過終端

所以我試圖通過鍵入以下到我的終端(/usr/local/bin)安裝步兵:

npm install -g grunt-cli 

但我得到這個結果:

Error: EACCES, mkdir '/usr/local/lib/node_modules/grunt-cli' 
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/grunt-cli'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/usr/local/lib/node_modules/grunt-cli', 
npm ERR! fstream_type: 'Directory', 
npm ERR! fstream_path: '/usr/local/lib/node_modules/grunt-cli', 
npm ERR! fstream_class: 'DirWriter', 
npm ERR! fstream_stack: 
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23', 
npm ERR!  '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:46:53', 
npm ERR!  'Object.oncomplete (fs.js:107:15)' ] } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 13.4.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "grunt-cli" 
npm ERR! cwd /usr/local/bin 
npm ERR! node -v v0.10.32 
npm ERR! npm -v 1.4.28 
npm ERR! path /usr/local/lib/node_modules/grunt-cli 
npm ERR! fstream_path /usr/local/lib/node_modules/grunt-cli 
npm ERR! fstream_type Directory 
npm ERR! fstream_class DirWriter 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/grunt-cli' 
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23 
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:46:53 
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15) 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /usr/local/bin/npm-debug.log 
npm ERR! not ok code 0 

......那看起來不太開心!有人可以幫我從這裏出去嗎?

注意:我最初也試過只從我的usr開始,沒有/local/bin,但是也出現了錯誤。

回答

0

我得到了同樣的結果(OSX 10.9.5)。這可能無關緊要你在哪裏運行命令 - 我希望你會看到完全相同的路徑出錯。

這個問題似乎是NPM希望把全球範圍內安裝的軟件包/usr/local/下(每https://www.npmjs.org/doc/files/npm-folders.html,在* nix系統,這裏包括OSX在/usr/local/bin可執行文件和模塊/usr/local/lib/node_modules)。這在Mac上不能寫入您的用戶。

你的選項可能有幾個:

你可以安裝本地的項目,而不是全球(省略-g)。這意味着您需要在您想要使用它的其他項目中重新安裝該軟件包。這也意味着當您訪問該項目以指向項目(export PATH=$PATH:./node_modules/bin)下的任何二進制文件(例如,grunt)時,您需要將其設置爲PATH,這可以通過腳本完成,但可能仍然很煩人。

您也可以使用sudo再次運行安裝,但那裏存在一些風險(在https://stackoverflow.com/a/25259232/1795230中指出)。

最後,您可以更改'前綴'(通過npm config set prefix ~/npm),如下所示:https://stackoverflow.com/a/21712034/1795230。正如在評論NPM won't install any package on Mac. New, clean build. `EACCES` & other errors中指出的那樣,這對於真實(僅針對用戶的所有項目而言是全球性的)而言不具有「全局性」的缺點,但根據您的具體情況,這可能會很順利(適用於我的本地開發機器)。