尝试安装LESS时,请尝试以Root / Administrator身份再次运行此命令
我试图在我的机器上安装LESS,并已经安装了节点。 但是,当我input“节点安装-gless”我得到以下错误,我不知道该怎么办?
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
Re Explosion Pills“安装程序可以运行任意脚本,使用sudo运行它可能非常危险!”
似乎使用sudo是做错的方法。
“将/ usr / local文件夹中的文件所有者更改为当前用户:”
sudo chown -R $USER /usr/local
然后运行安装
node install -g less
查看:
老实说这是来自npm
坏build议。 一个安装程序可以运行任意脚本,用sudo
运行它可能是非常危险的! 你可以做sudo npm install -g less
来全局安装,但是我会build议更新你的npm设置:
#~/.npmrc prefix=~/.npm_modules
然后你可以更新你的path:
#~/.bashrc or ~/.zshrc, etc. export PATH=$PATH:$HOME/.npm_modules/bin
然后你不需要root权限来执行安装,你仍然可以使用二进制。
这只适用于您的用户,但是。 如果你想要整个系统能够使用模块,你必须告诉每个人添加你的path。 更复杂和可靠的解决scheme将包括添加一个文件夹,其中包含一个组可以安装到的节点模块/二进制文件,并将其添加到每个人的path中。
只要在你的命令开头添加sudo
即可。 如前所述,安装运行一些可能是危险的脚本,但我看到安装在全球范围内帮助很多,而且更简单。
运行sudo npm install -g less
当你得到EACCES(错误:访问)错误时,npm有关于修复npm权限的官方网页。 该网页甚至有一个video。
您可以使用以下两个选项之一来解决此问题:
- 将权限更改为npm的默认目录。
- 将npm的默认目录更改为另一个目录。
这一定会有所帮助。 通过npm本身。 https://docs.npmjs.com/getting-started/fixing-npm-permissions
为了您的方便,下面是从URL中提取的。
选项1:将权限更改为npm的默认目录
-
findnpm目录的path:
npm config get prefix
对于很多系统,这将是/ usr / local。
警告:如果显示的path只是/ usr,请切换到选项2,否则会弄乱您的权限。
-
将npm目录的所有者更改为当前用户(您的用户名!)的名称:
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
这将更改npm和其他一些工具(lib / node_modules,bin和share)使用的子文件夹的权限。
选项2:将npm的默认目录更改为另一个目录
-
为全局安装创build一个目录:
mkdir ~/.npm-global
-
configurationnpm以使用新的目录path:
npm config set prefix '~/.npm-global'
-
打开或创build〜/ .profile文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
-
回到命令行上,更新你的系统variables:
source ~/.profile
testing:在不使用sudo的情况下全局下载软件包。
`npm install -g jshint`
您可以使用相应的ENVvariables(例如,如果您不想修改~/.profile
),而不是步骤2-4:
NPM_CONFIG_PREFIX=~/.npm-global
选项3:使用一个软件包pipe理器来为您处理这个问题
如果您在Mac OS上进行全新的Node安装,则可以使用Homebrew软件包pipe理器完全避免此问题。 Homebrew以正确的权限开箱即用。
brew install node
我一直有这个问题,因为Windows设置我的node_modules
文件夹为只读。 确保你取消select这个。
为了避免OP中提到的问题,我必须做的就是开始使用Less编译器。
- 安装node.js
- 在terminal上安装NPM:
sudo npm install npm -g
- 安装一个较less的terminal编译器:
sudo npm install -g less
(sudo使所有区别) - 如果您使用PHPstorm:转到“首选项…>插件”并安装NodeJS -plugin(可能需要“浏览存储库”以find它)并重新启动PHPstorm(根据提示)
- 之后,再次去插件:安装less编译器 (可能需要“浏览存储库”find它),并重新启动PHPstorm(根据提示)
- 一旦你有一个项目设置,去“设置>工具> Filewatchers”,并添加“less”。 (“程序”)的path应该是这样的:
/usr/local/bin/lessc
- 确保在6的设置中检查仅跟踪根文件 。
在我的情况下,我需要从5.3.0→5.4.2更新npm版本。
在我可以使用这个之前-- npm i -g npm
..我需要运行两个命令完全解决了我的问题。 它甚至很可能会解决你的问题。
第1步: sudo chown -R $USER /usr/local
第二步: npm install -g cordova ionic
在此之后,您应该更新您的npm到最新版本
第3步: npm i -g npm
那么你很好走。 希望这解决了你的问题。 干杯!!
我也遇到了问题。 这就是我所做的:
- 从控制面板卸载nodeJs>卸载程序
- 在用户// appData / roaming – > npm文件夹和npm-cache文件夹中有2个文件夹。 删除这两个。
现在,转到nodeJS站点,然后再次安装。 在安装选项(即npm包)中select第二个选项。 安装它。 你的问题现在必须解决。