2014-10-20 142 views
1

我正在運行Ubuntu 14.04並且已經從ppa https://launchpad.net/~chris-lea/+archive/ubuntu/node.js安裝了nodejs。當過我嘗試運行npm install它給出這樣的錯誤:(運行命令npm install -g generator-ember沒有sudo就無法運行npm install。設置.npm的權限不起作用

npm ERR! Error: EACCES, unlink '/usr/lib/node_modules/generator-ember' 
    npm ERR! { [Error: EACCES, unlink '/usr/lib/node_modules/generator-ember'] 
    npm ERR! errno: 3, 
    npm ERR! code: 'EACCES', 
    npm ERR! path: '/usr/lib/node_modules/generator-ember' } 
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator. 

    npm ERR! System Linux 3.13.0-37-generic 
    npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "generator-ember" 
    npm ERR! cwd /home/pubudu/Projects/techpro-yeoman 
    npm ERR! node -v v0.10.32 
    npm ERR! npm -v 1.4.28 
    npm ERR! path /usr/lib/node_modules/generator-ember 
    npm ERR! code EACCES 
    npm ERR! errno 3 
    npm ERR! stack Error: EACCES, unlink '/usr/lib/node_modules/generator-ember' 
    npm ERR! error rolling back Error: EACCES, unlink '/usr/lib/node_modules/generator-ember' 
    npm ERR! error rolling back { [Error: EACCES, unlink '/usr/lib/node_modules/generator-ember'] 
    npm ERR! error rolling back errno: 3, 
    npm ERR! error rolling back code: 'EACCES', 
    npm ERR! error rolling back path: '/usr/lib/node_modules/generator-ember' } 
    npm ERR! not ok code 0 

我嘗試設置權限是這樣的:sudo chown -R yourusername ~/.npm,但沒有奏效。我怎樣才能解決這個問題?我可以用sudo運行npm,但是如果我這樣做,稍後會遇到像使用grunt時的權限問題。

回答

1

我也有manies這個問題。

更改~/.npm的所有權還不夠,因爲您還在/usr/lib/node_modules/文件夾中發生訪問問題。如果您喜歡,也可以在此更改權限,但不建議更改文件夾的權限。如果您還要更改這些文件夾的權限,則只需在您需要的文件夾即node_module s文件夾中執行。或者你可以去一個不同的,更優先的路線 -

最初我進去和更改文件夾和所有爵士樂的權限,但是當我升級我的系統時,我使用NVM。
ember-cli page,下面的鏈接導致了有關如何使用NPM和的NodeJS教程不使用sudo使用node version manager
http://www.wenincode.com/installing-node-jsnpm-without-sudo/
一旦你安裝了NVM如上或GitHub的頁面告訴你無論什麼時候教程您只需使用以下命令即可登錄到新shell中:

nvm use 0.10 

其中0.10是要使用的nodejs的版本。

+0

我也在軌道上使用紅寶石。 nvm會用於導軌嗎? – THpubs 2014-10-20 10:08:07

+0

我不能肯定地回答,但我不明白爲什麼不。它只是管理節點和NPM,所以它不應該以任何方式干涉。 – Craicerjack 2014-10-20 10:12:51