npm 命令 - sudo 与否? [英] npm command - sudo or not?

查看:25
本文介绍了npm 命令 - sudo 与否?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前我总是运行 sudo npm install 但据我所知这是不正确的.

Currently I always run sudo npm install <package-name> but as I understand it's not correct.

我希望有机会不以 root/管理员身份使用它.我遵循了一些建议并使用了这个命令 sudo chown -R ~/.npm 但它不起作用...

I want to have opportunity not to use it as root/Administrator. I followed some advice and used this command sudo chown -R <username> ~/.npm but it won't work...

例如,它是我的 npm install jade

...
npm http 200 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm ERR! Error: EACCES, symlink '../jade/bin/jade'
npm ERR!  { [Error: EACCES, symlink '../jade/bin/jade'] errno: 3, code: 'EACCES', path: '../jade/bin/jade' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

如您所见,下载成功启动但随后失败..

as you see download started successfully but then failed..

我想知道在 npm 上禁止 sudo 的最佳方法是什么?

I'm wondering what is the best way to disallow sudo on npm?

推荐答案

npm install -g 没有 sudo 的节点模块是可能的(并且是可取的).

It's possible (and advisable) to npm install -g node modules without sudo.

检查您的 /usr/local/share/npm/bin 文件夹的权限.我已经通过 brew(没有 sudo)安装了 node 和 npm,并且该特定文件夹最终归 root 所有.

Check the permission of your /usr/local/share/npm/bin folder. I had installed node and npm through brew (without sudo) and that particular folder ended up being owned by root.

这一劳永逸地修复了它:

This fixed it for once and for all:

$ sudo chown $(whoami) /usr/local/share/npm/bin

(至于使用 npm 禁止 sudo:你必须为此调整 npm.你自己的节点代码可以使用 https://npmjs.org/package/sudo-block, npm install sudo-block)

(As for disallowing sudo with npm: you'd have to tweak npm for that. Your own node code could make use of https://npmjs.org/package/sudo-block, npm install sudo-block)

即使这有效,我也不再使用 -g.而是使用前缀(见下一个答案),或者更好地使用 NIX https://unix.stackexchange.com/a/381797(即使在 OSX 上)

even though this works, I no longer use -g. Instead use prefix (see next answer), or better yet use NIX https://unix.stackexchange.com/a/381797 (even on OSX)

这篇关于npm 命令 - sudo 与否?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆