尝试安装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。

您可以使用以下两个选项之一来解决此问题:

  1. 将权限更改为npm的默认目录。
  2. 将npm的默认目录更改为另一个目录。

这一定会有所帮助。 通过npm本身。 https://docs.npmjs.com/getting-started/fixing-npm-permissions

为了您的方便,下面是从URL中提取的。


选项1:将权限更改为npm的默认目录

  1. findnpm目录的path:

    npm config get prefix

对于很多系统,这将是/ usr / local。

警告:如果显示的path只是/ usr,请切换到选项2,否则会弄乱您的权限。

  1. 将npm目录的所有者更改为当前用户(您的用户名!)的名称:

    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

这将更改npm和其他一些工具(lib / node_modules,bin和share)使用的子文件夹的权限。


选项2:将npm的默认目录更改为另一个目录

  1. 为全局安装创build一个目录:

    mkdir ~/.npm-global

  2. configurationnpm以使用新的目录path:

    npm config set prefix '~/.npm-global'

  3. 打开或创build〜/ .profile文件并添加以下行:

    export PATH=~/.npm-global/bin:$PATH

  4. 回到命令行上,更新你的系统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编译器。

  1. 安装node.js
  2. 在terminal上安装NPM: sudo npm install npm -g
  3. 安装一个较less的terminal编译器: sudo npm install -g less (sudo使所有区别)
  4. 如果您使用PHPstorm:转到“首选项…>插件”并安装NodeJS -plugin(可能需要“浏览存储库”以find它)并重新启动PHPstorm(根据提示)
  5. 之后,再次去插件:安装less编译器 (可能需要“浏览存储库”find它),并重新启动PHPstorm(根据提示)
  6. 一旦你有一个项目设置,去“设置>工具> Filewatchers”,并添加“less”。 (“程序”)的path应该是这样的: /usr/local/bin/lessc
  7. 确保在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

那么你很好走。 希望这解决了你的问题。 干杯!!

我也遇到了问题。 这就是我所做的:

  1. 从控制面板卸载nodeJs>卸载程序
  2. 在用户// appData / roaming – > npm文件夹和npm-cache文件夹中有2个文件夹。 删除这两个。

现在,转到nodeJS站点,然后再次安装。 在安装选项(即npm包)中select第二个选项。 安装它。 你的问题现在必须解决。