Mac系统安装mongodb-realm-cli出现EACCES权限报错问题问询
故障原因
这是类Unix系统(macOS/Linux)特有的npm全局包权限限制问题:使用sudo执行npm全局安装命令时,npm默认会降低权限运行后续的安装脚本,导致脚本下载realm-cli二进制文件时,没有权限写入/usr/local/lib/node_modules系统目录,因此抛出EACCES权限错误。Windows系统没有该权限限制机制,所以相同命令可以正常执行。
解决方案(按推荐优先级排序)
方案1:修改npm全局安装路径(一劳永逸,无需后续全局安装再用sudo)
- 第一步:创建当前用户专属的npm全局包存储目录
mkdir -p ~/.npm-global - 第二步:配置npm使用该目录作为全局安装路径
npm config set prefix '~/.npm-global' - 第三步:将该目录的可执行文件路径加入系统环境变量
如果你使用zsh终端:
如果你使用bash终端:echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc source ~/.zshrcecho 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bash_profile source ~/.bash_profile - 第四步:无需sudo直接执行安装命令
npm install -g mongodb-realm-cli
方案2:临时添加权限参数安装(无需修改全局配置,适合单次安装)
直接执行带--unsafe-perm参数的安装命令即可:
sudo npm install -g mongodb-realm-cli --unsafe-perm=true
该参数允许npm以root权限运行时不降低后续安装脚本的执行权限,可正常写入二进制文件到系统目录。
方案3:临时修改系统node_modules目录权限(不推荐,仅应急使用)
- 先将全局node_modules目录的所有者修改为当前用户:
sudo chown -R $USER /usr/local/lib/node_modules - 直接执行安装命令:
npm install -g mongodb-realm-cli
内容的提问来源于stack exchange,提问作者Slava
相关产品推荐
相关产品推荐

