如何解决使用npm时出现的 "缺少写入权限 "错误

289 阅读1分钟

快速解决使用npm安装全局包时这个恼人的问题

当你第一次尝试使用npm全局安装一个包时,在Mac或Linux上使用语法npm install -g <package> ,你可能会得到一个奇怪的错误,说类似于

Missing write access to /usr/local/lib/node_modules

npm error message

或类似的内容,接着是一长串其他的错误和警告,这是第一个错误的后果。

这个错误使我们无法安装软件包。

你如何解决这个问题?这是一个权限错误,这意味着你没有对那个文件夹的写入权限。

这就是如何解决它。运行这个命令。

sudo chown -R $USER /usr/local/lib/node_modules

让我们把它分解一下。

sudo 意味着我们是以 ,即系统超级用户的身份运行这个命令。这是因为我们没有对该文件夹的写入权限,但 ,就能解决任何权限问题。这个命令也意味着系统会要求你输入密码来确认。root root

chown 是我们用来改变一个文件或文件夹的所有者的命令。我们将 选项设置为递归地改变所有者,所以我们也获得了对已经包含在其中的所有文件的所有者权限。-R

$USER 是一个环境变量,自动设置为你的用户名。

最后一块是文件夹路径。

运行这个路径将使该文件夹成为你的,所以你可以安全地运行你的npm install -g <package> 命令!

注意错误信息所列出的文件夹。如果它是不同的,相应地更新chown 命令。

这个提示适用于单用户系统。在多用户系统中,你可能想为npm模块创建一个专门的目录,见docs.npmjs.com/resolving-e…