MacOS安装Angular CLI时出现EACCES权限被拒绝报错如何修复
故障排查结论
核心问题点
- 命令输入存在拼写错误:原执行命令错写为
pm itstall -g @angular/cli,正确命令前缀应为npm install - 核心报错为EACCES 权限拒绝:当前用户对npm全局包存放路径
/usr/local/lib/node_modules没有写入权限,安装过程中重命名临时文件的操作被操作系统拦截 - 日志中出现的
--global、--local参数已废弃,推荐使用--location=global为版本兼容警告,不是安装失败的原因
修复操作步骤
- 修复npm全局目录权限,在终端执行以下命令,执行后按提示输入当前Mac账号的开机密码(输入过程中终端不显示密码字符为正常现象,输完直接按回车即可):
sudo chown -R $(whoami) /usr/local/lib/node_modules
该命令会将全局node_modules目录的所有权分配给当前登录用户,从根源解决npm全局安装的权限拦截问题,不需要每次安装都加sudo提权。
- 权限修复完成后,执行正确的Angular CLI全局安装命令:
npm install -g @angular/cli
如果需要消除参数废弃警告,可以把命令替换为
npm install --location=global @angular/cli,安装效果完全一致。
- 安装完成后执行以下命令验证安装结果:
ng version
终端正常输出Angular CLI、Node.js等版本信息即代表安装成功。
内容的提问来源于stack exchange,提问作者Manraj Sandhu
相关产品推荐
相关产品推荐

