“sudo npm install -g grunt-cli” gives me an error

2019-08-10 12:04发布

I get an error when trying to install gruntjs on a linux 12.04 (with a mirrored packages source)

Here is the error:

 sudo npm install -g grunt-cli

npm ERR! Error: ENOENT, open '/home/havetl/.npm/d63f3d0b-grunt-cli.lock'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.5.0-23-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "grunt-cli"
npm ERR! cwd /home/havetl
npm ERR! node -v v0.10.18
npm ERR! npm -v 1.3.8
npm ERR! path /home/havetl/.npm/d63f3d0b-grunt-cli.lock
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! Error: EACCES, open 'npm-debug.log'
npm ERR!  { [Error: EACCES, open 'npm-debug.log'] errno: 3, code: 'EACCES', path: 'npm-debug.log' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Linux 3.5.0-23-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "grunt-cli"
npm ERR! cwd /home/havetl
npm ERR! node -v v0.10.18
npm ERR! npm -v 1.3.8
npm ERR! path npm-debug.log
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open 'npm-debug.log'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/havetl/npm-debug.log
npm ERR! not ok code 0

Thanks for any idea!

3条回答
唯我独甜
2楼-- · 2019-08-10 12:46

This blog worked for me :

http://slopjong.de/2012/10/31/how-to-install-the-latest-nodejs-in-ubuntu/

the error was because in ubuntu v12 few of the dependencies were not available for the latest version of Node.

查看更多
够拽才男人
3楼-- · 2019-08-10 12:53

I've had this problem before; sometimes for global packages your current working directory has to be ~/ (but I'm not sure why this is!). Try:

cd ~/; sudo npm install -g grunt-cli
查看更多
姐就是有狂的资本
4楼-- · 2019-08-10 12:56

According to the maintainer of npm, installing packages with sudo is considered bad practice because you are allowing that package to have complete control of your system and you can't and SHOULDN'T trust these packages with root access. Think Debian's long release cycles as an extreme example of protecting end users from community maintained packages for this exact reason.

http://howtonode.org/introduction-to-npm

You should do what Issaacs suggests and chown your /usr/local folder so you have RW permissions.

查看更多
登录 后发表回答