NPM 模块不会在没有 sudo 的情况下全局安装

新手上路,请多包涵

我刚刚重新安装了 Ubuntu 12.04 LTS,然后我先做了这些步骤

  1. 使用以下脚本通过包管理器安装节点
   sudo apt-get update

   sudo apt-get install python-software-properties python g++ make

   sudo add-apt-repository ppa:chris-lea/node.js

   sudo apt-get update

   sudo apt-get install nodejs

  1. 尝试在全球范围内安装 yeoman, express, n, yeoman 的生成器,它们都返回相同的错误

npm 错误!错误:EACCES,符号链接 ‘../lib/node_modules/n/bin/n’

npm 错误! { [错误:EACCES,符号链接’../lib/node_modules/n/bin/n’] errno:3,代码:’EACCES’,路径:’../lib/node_modules/n/bin/n’}

npm 错误!

npm 错误!请尝试以 root/管理员身份再次运行此命令。

npm 错误!系统 Linux 3.8.0-29-generic

npm 错误!命令“/usr/bin/node”“/usr/bin/npm”“安装”“-g”“-d”“n”

npm 错误! cwd /home/heberlz

npm 错误!节点-v v0.10.20

npm 错误! npm -v 1.3.11

npm 错误!路径 ../lib/node_modules/n/bin/n

npm 错误!代码 EACCES

npm 错误!错误号 3

npm 错误!堆栈错误:EACCES,符号链接’../lib/node_modules/n/bin/n’

npm 错误!

npm 错误!可以在以下位置找到其他日志记录详细信息:

npm 错误! /home/heberlz/npm-debug.log

npm 错误!不好的代码 0

  1. 以递归方式回收以下文件夹的所有权 ~/.npm、/usr/lib/node、/usr/lib/node_modules 和以下符号链接 /usr/bin/node、/usr/bin/nodejs ,但绝对没有成功

我需要在没有 sudo 的情况下安装 yeoman 及其生成器,以免以后遇到麻烦:(

原文由 HeberLZ 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 392
2 个回答

Ubuntu 12.04 并使用 Chris Lea 的 PPA 为我安装以下工作:

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

并将 $HOME/.npm-packages/bin 添加到 $PATH

附加到 .bashrc

 export PATH="$PATH:$HOME/.npm-packages/bin"

有关更多信息,请参阅@passy 的 这个答案

原文由 ErikAndreas 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 NVM

我有同样的“权限被拒绝”问题。我没有尝试修复从 https://nodejs.org/en/ 安装的 NodeJS 安装到 root 而不是 $USER --- 拥有的文件夹中,而是使用 NVM 。节点版本管理器。

  • 安装它:运行 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  • 安装一个版本的节点:运行 nvm install 16
  • 用它:
    • nvm use 16
    • npm install -g yarn

当我使用 NVM 安装的 Node 时,一切正常。

原文由 Ben Butterworth 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题