缺少对 /usr/local/lib/node_modules 的写访问权限

缺少对 /usr/local/lib/node_modules 的写访问权限

我正在更新 NPM、Node 和 Vue(一个 JavaScript 框架)。我想我在某个地方将目录的权限更改为 root root。我正在尝试运行

npm install -g @vue/cli

我得到一串

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/@vue/

node_modules 的所有者是 root:root,我将其更改为 root:staff。我还确保自己属于 staff 组。出于某种原因,我仍然缺少写入权限。我还 chmod 775 -R。然后重新启动以确保新权限已加载,但仍然无法安装 Vue CLI。我做错了什么?

答案1

如上所述npm 文档你可以:

  1. 备份您的计算机。
  2. 在命令行上,在您的主目录中,创建一个用于全局安装的目录: mkdir ~/.npm-global

  3. 配置 npm 以使用新的目录路径: npm config set prefix '~/.npm-global'

  4. 在您喜欢的文本编辑器中,打开或创建一个 ~/.profile 文件并添加以下行: export PATH=~/.npm-global/bin:$PATH

  5. 在命令行上,更新系统变量: source ~/.profile

  6. 要测试您的新配置,请在不使用 sudo 的情况下全局安装一个包: npm install -g jshint

除了步骤 2-4,您还可以使用相应的 ENV 变量(例如,如果您不想修改 ~/.profile): NPM_CONFIG_PREFIX=~/.npm-global

相关内容