2012-08-10 35 views
12
[email protected]:~/express$ npm install -g node-gyp 
npm http GET https://registry.npmjs.org/node-gyp 
npm http 200 https://registry.npmjs.org/node-gyp 
npm http GET https://registry.npmjs.org/node-gyp/-/node-gyp-0.6.3.tgz 
npm http 200 https://registry.npmjs.org/node-gyp/-/node-gyp-0.6.3.tgz 
npm ERR! Could not create /usr/local/lib/node_modules/___node-gyp.npm 
npm ERR! error installing [email protected] 

npm ERR! Error: EACCES, permission denied '/usr/local/lib/node_modules' 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 
npm ERR! 
npm ERR! System Linux 3.2.0-23-generic 
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "node-gyp" 
npm ERR! cwd /home/user/express 
npm ERR! node -v v0.6.12 
npm ERR! npm -v 1.1.4 
npm ERR! path /usr/local/lib/node_modules 
npm ERR! code EACCES 
npm ERR! message EACCES, permission denied '/usr/local/lib/node_modules' 
npm ERR! errno {} 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /home/user/express/npm-debug.log 
npm not ok 
[email protected]:~/express$ 

我在試圖在系統上安裝Node-gyp。我試圖安裝在具有Linux 12.04 ubuntu OS的系統上。如何在Linux中安裝node-gyp?

有人知道如何設置安裝node-gyp的權限。

感謝您的幫助。

+5

嘗試「sudo npm install -g node-gyp」 – nguyenkha 2012-08-10 05:34:18

+0

@nguyenkha感謝它的工作。 – user1460904 2012-08-10 05:36:52

+0

更好地以root身份登錄並執行操作;如果在sudo下運行,最新版本的npm將切換爲「nobody」,偶爾會導致問題。 – ebohlman 2012-08-10 05:38:41

回答

24

npm install -g爲所有用戶安裝軟件包。因此,您需要管理員權限才能安裝它。嘗試

sudo npm install -g node-gyp 
+3

這在Ubuntu 13.04中失敗了,因爲node-gyp希望找到一個名爲'node'的命令,但在Ubuntu 13.04中,它被稱爲'nodejs'。 – 2013-06-02 21:18:12

+1

@KristianSpangsege在這種情況下,使用'sudo ln -fs nodejs/usr/bin/nodejs'將nodejs也稱爲'node'。 – phihag 2013-06-02 21:28:58

+0

是的。我只是想表達我對這種情況的無奈:-) – 2013-06-02 21:32:30