我正在尝试在我的机器上安装LESS并且已经安装了节点.但是,当我输入"node install -g less"时,我收到以下错误,不知道该怎么办?
FPaulMAC:bin paul$ npm install -g less npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/less' npm ERR! { [Error: EACCES, unlink '/usr/local/lib/node_modules/less'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: '/usr/local/lib/node_modules/less' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! System Darwin 13.3.0 npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "less" npm ERR! cwd /usr/local/bin npm ERR! node -v v0.10.33 npm ERR! npm -v 1.4.28 npm ERR! path /usr/local/lib/node_modules/less npm ERR! code EACCES npm ERR! errno 3 npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/less' npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/less' npm ERR! error rolling back { [Error: EACCES, unlink '/usr/local/lib/node_modules/less'] npm ERR! error rolling back errno: 3, npm ERR! error rolling back code: 'EACCES', npm ERR! error rolling back path: '/usr/local/lib/node_modules/less' } npm ERR! not ok code 0
aturc.. 69
Re Explosion Pills"安装可以运行任意脚本并使用sudo运行它可能非常危险!"
似乎使用sudo是错误的做法.
"将/ usr/local文件夹中文件的所有者更改为当前用户:"
sudo chown -R $USER /usr/local
然后运行安装
node install -g less
查看:
npm在没有sudo的情况下抛出错误
https://aralbalkan.com/scribbles/npm-install-g-please-try-running-this-command-again-as-root-administrator/
http://foohack.com/2010/08/intro-to-npm/#what_no_sudo
仅供参考,在OSX High Sierra中,由于受限制,因此不再可能chown/usr/local. (2认同)
Explosion Pi.. 31
老实说,这是一个糟糕的建议npm
.安装可以运行任意脚本并运行它sudo
可能非常危险!你可以在sudo npm install -g less
全球范围内安装它,但我建议你更新你的npm设置:
#~/.npmrc prefix=~/.npm_modules
然后你可以更新你的路径:
#~/.bashrc or ~/.zshrc, etc. export PATH=$PATH:$HOME/.npm_modules/bin
然后,您不需要root权限来执行安装,您仍然可以使用二进制文件.
但是,这仅适用于您的用户.如果您希望整个系统能够使用该模块,您必须告诉每个人添加您的路径.更复杂和强大的解决方案将包括增加与节点模块/一组可以安装到二进制文件的文件夹,并添加该每个人的路.