安装时NPM权限错误

时间:2014-11-19 11:18:55

标签: node.js npm

我正在尝试在我的服务器上安装yeoman,但由于某种原因,我一直收到一个拒绝权限错误。

$npm install -g yo
/root/.node/bin/yo -> /root/.node/lib/node_modules/yo/cli.js

> yo@1.3.3 postinstall /root/.node/lib/node_modules/yo
> yodoctor

sh: 1: yodoctor: Permission denied

npm ERR! yo@1.3.3 postinstall: `yodoctor`
npm ERR! Exit status 127
npm ERR! 
npm ERR! Failed at the yo@1.3.3 postinstall script.
npm ERR! This is most likely a problem with the yo package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     yodoctor
npm ERR! You can get their info via:
npm ERR!     npm owner ls yo
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "yo"
npm ERR! cwd /root
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

我试图重新安装ubuntu(14.04),但没有任何作用。

4 个答案:

答案 0 :(得分:9)

我认为Shantaru是对的,你需要用sudo来做。

试试这个

sudo npm uninstall -g yo
sudo npm cache clean
sudo npm install -g yo

几个星期前我遇到了类似的问题,并且有效。

编辑:如果这不起作用,请在此之前执行此操作:

npm config set unsafe-perm true

答案 1 :(得分:1)

你需要拥有root权限才能安装,所以试试吧 " sudo npm install -g yo"而不是" npm install -g yo"

答案 2 :(得分:1)

我遇到了同样的问题,并尝试使用' sudo npm install -g yo'运行安装。但它仍然失败了。我无法摆脱错误消息仍然说“sh:1:yodoctor:Permission denied'”这一事实,表明权限问题。因此,我尝试使用' sudo su' 完全更改为root用户,然后运行' npm install -g yo' 。这对我有用。

如果像我一样,在运行安装时遇到其他错误,可能是因为你需要先升级npm(运行' npm install -g npm'这样做)。这也可能是因为您已经从之前的尝试中部分安装了这会导致问题。因此,您可以先尝试使用' npm删除-g yo' (仍以root用户身份),然后使用' npm install -g yo'再次安装它。

希望这可以帮助那些人。

答案 3 :(得分:0)

要避免权限错误,请使用 nvm 安装节点。

请在此处查看详细解决方案: npm install g less does not work