我正在尝试在我的服务器上安装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),但没有任何作用。
答案 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