You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统npm全局安装sass报EACCES权限错误如何解决

问题根因

这个报错是典型的Mac环境下npm全局安装目录权限配置错误:你当前登录的用户账号没有/usr/local/lib/node_modules目录的写入权限,所以不管是全局安装sass,还是升级npm本身,只要涉及往这个系统级目录写入文件都会抛出EACCES权限拒绝错误。你之前尝试nvm方案没生效,基本是nvm安装后没有正确配置终端环境变量,终端实际调用的还是之前装在系统路径下的npm,自然绕不开权限问题。

解决方法

按推荐优先级从高到低选一种操作即可,第一种是长期来看最省心的方案,适合新手。

方案1:通过nvm管理Node.js(一劳永逸避免权限问题)

nvm会把所有Node版本和全局包装在你自己的用户目录下,完全不需要管理员权限,从根源上杜绝这类权限报错,操作步骤如下:

  • 先清理之前手动安装的全局Node.js和npm残留,终端依次执行以下命令:
sudo rm -rf /usr/local/lib/node_modules
sudo rm /usr/local/bin/node
sudo rm /usr/local/bin/npm
sudo rm -rf ~/.npm
  • 安装nvm,安装完成后把nvm要求的环境变量配置写入你当前终端对应的配置文件:如果是Mac默认的zsh终端,就写入~/.zshrc;如果是旧版bash终端,就写入~/.bash_profile,需要写入的配置内容如下:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
  • 执行source ~/.zshrc(zsh终端)或source ~/.bash_profile(bash终端)让配置立即生效,接着执行nvm install --lts安装Node.js长期支持版本。
  • 安装完成后直接执行npm install -g sass即可正常安装,过程中出现的--global参数废弃警告不影响实际使用,新手可以暂时忽略。

方案2:修复现有npm目录权限(无需重装Node)

如果不想折腾重装Node环境,直接把npm相关目录的所有权分配给当前登录用户即可,终端执行以下命令:

sudo chown -R $USER /usr/local/lib/node_modules
sudo chown -R $USER ~/.npm

执行命令时会要求输入Mac开机密码,输入过程中终端不会显示字符是正常机制,输完直接按回车即可。命令执行完成后再运行npm install -g sass就能正常安装。

注意:不要图省事直接用sudo npm install -g 包名的方式绕过权限,这种方式安装的包所有权属于root用户,后续使用过程中会衍生更多难以排查的权限问题,不推荐新手使用。

验证安装

安装完成后在终端执行sass --version,如果能正常输出对应的版本号,就说明安装成功可以正常使用了。

内容的提问来源于stack exchange,提问作者Carlos Prieto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:48:14