解决在Mac下使用npm报错:Error: EACCES: permission denied

时间:2025-02-08 11:58:19

原因说明:没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹
这个错误表明你在安装或更新 (@vue)包时,没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹。这通常是因为默认情况下,普通用户没有权限在 /usr/local/lib 目录中进行写入操作。

方法1:使用 npm 的全局安装目录(推荐)

在 macOS 系统上,你可以使用 的版本管理工具 nvm 或 n 来安装 ,这样会避免权限问题。首先,你可以使用其中一个版本管理工具安装一个新的 版本,并在其上运行以下命令来安装 :

nvm install stable  # 使用 nvm 安装最新稳定版 
nvm use stable     # 使用刚刚安装的  版本

# 或者如果你使用的是 n,可以运行以下命令:
# n latest
# n use latest

npm install -g @vue/cli

这将安装 到 的全局安装目录中,通常在用户的主目录下,而不需要管理员权限。

PS: 如果你在终端中遇到 “zsh: command not found: nvm” 错误,这意味着 Node Version Manager (nvm) 没有正确地安装或配置。
 

安装 nvm

在终端中运行以下命令来安装 nvm

使用 curl 安装方法

curl -o- /nvm-sh/nvm/v0.39.0/ | bash

使用 wget 安装方法

wget -qO- /nvm-sh/nvm/v0.39.0/ | bash

安装完成后,需要将 nvm 加载到当前的终端会话中。关闭并重新打开终端,或者运行以下命令来加载 nvm。

source ~/.nvm/

如果你使用的是 zsh 作为你的 shell,将上面的命令替换为:

source ~/.nvm/ --no-use

验证 nvm 安装,运行以下命令验证 nvm 是否已经安装成功:

nvm --version

方法2:使用 sudo(不推荐)

如果你坚持要在全局范围安装 ,你可以使用 sudo 命令来获取管理员权限。
但是,使用 sudo 安装全局包可能会导致一些权限问题,因为后续执行的命令也可能需要使用 sudo。

sudo npm install -g @vue/cli