【问题标题】:NPM permission error while installing安装时 NPM 权限错误
【发布时间】:2015-01-16 21:28:12
【问题描述】:

我正在尝试在我的服务器上安装 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) 但没有任何效果。

【问题讨论】:

    标签: node.js npm


    【解决方案1】:

    我觉得 Shantaru 是对的,你需要用 sudo 来做。

    试试这个

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

    几周前我也遇到过类似的问题,而且效果很好。

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

    npm config set unsafe-perm true
    

    【讨论】:

    • 试试这个:npm install -g yo@1.3.2
    • 奇怪...请尝试设置:npm config set unsafe-perm true
    • 很高兴读到!但我认为这不是一个正确的解决方案,只是一个临时的解决方法。您的用户和权限有问题...尝试删除有关节点的所有内容,并在您想再次尝试时以推荐的方式进行全新安装。祝你好运!
    • npm config set unsafe-perm true 也为我解决了这个问题。我正在使用 npm install -g yo 在服务器上以 root 身份安装 yo。
    • 谢谢,我在答案中添加了 set unsafe-perm 以供未来访问者使用。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      如果像我一样,在以这种方式运行安装时遇到其他错误,可能是因为您需要先升级 npm(运行“npm install -g npm”来执行此操作)。也可能是因为您之前尝试的部分安装了 yo,这导致了问题。因此,您可以尝试先使用“npm remove -g yo”(仍以 root 用户身份)删除它,然后使用“npm install -g yo”再次安装。

      希望这对那里的人有所帮助。

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-11-14
          • 2020-03-06
          • 2018-07-08
          • 1970-01-01
          • 2016-06-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多