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

更新npm版本遇Git权限拒绝错误,sudo执行仍无效求助

解决npm全局更新时Git权限拒绝的问题

我之前也碰到过一模一样的情况——执行npm i -g npm更新npm时,碰到Git权限不足的错误,连sudo都不管用。给你几个亲测有效的解决思路:

1. 修复npm缓存目录的权限

这个是最常见的原因,缓存目录的所有权可能被意外改成了root或者其他用户,导致git无法写入:

  • 先检查缓存目录的权限:
    ls -la /Users/my/.npm/_cacache
    
  • 把缓存目录及子目录的所有权改回当前用户:
    sudo chown -R $USER:$USER /Users/my/.npm
    
  • 之后再尝试更新npm:
    npm i -g npm
    

2. 切换Git协议为HTTPS

有时候git://协议会被防火墙或者权限策略限制,换成HTTPS协议就能绕过这个问题:

  • 配置npm默认使用HTTPS访问GitHub仓库:
    npm config set git://github.com/:https://github.com/
    
  • 配置完成后再执行更新命令即可。

3. 手动下载npm安装包更新

如果上面的方法都不奏效,可以跳过git直接用官方脚本安装最新版npm:

  • 执行官方安装脚本:
    curl -L https://www.npmjs.com/install.sh | sh
    
    这个脚本会自动检测并替换你系统里的全局npm,全程不需要git操作,能完美避开权限问题。

我当时是缓存目录权限乱了,用第一个方法就搞定了,你可以先从第一个开始试~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:05:09