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

npm ci执行时GitHub SSH地址需输入凭证问题求助

解决npm ci拉取私有Git仓库需输入凭证的问题

以下是针对Windows环境的可行解决步骤:

  • 强制npm对GitHub仓库使用SSH协议
    执行命令让npm默认用SSH访问GitHub,避免自动切换到HTTPS:
    npm config set git@github.com:ssh://git@github.com
    如果私有包带有scope(如@knowyrtech/actions_param),可以针对性设置:
    npm config set @knowyrtech:registry git+ssh://git@github.com/knowyrtech

  • 确保SSH代理在npm执行环境中生效
    Windows下需确认ssh-agent处于运行状态且已加载密钥,在执行npm ci前先运行:

    eval $(ssh-agent -s)
    ssh-add ~/.ssh/id_rsa
    

    注意:如果你的SSH密钥不是默认的id_rsa,替换成实际的密钥文件名。

  • 验证package.json中的依赖地址格式
    检查依赖项里的私有包地址是否为正确的SSH格式,示例如下:

    "dependencies": {
      "actions_param": "git+ssh://git@github.com/knowyrtech/actions_param.git"
    }
    

    避免误写为HTTPS格式或遗漏git+ssh://前缀。

  • 清理npm缓存并检查认证配置
    清理可能残留的错误缓存:
    npm cache clean --force
    同时检查npm是否配置了GitHub的HTTPS仓库地址,执行:
    npm config get @github.com:registry
    若返回https://github.com/,执行以下命令修改为SSH格式:
    npm config set @github.com:registry ssh://git@github.com

  • 配置GIT_SSH环境变量
    确保npm使用Git自带的SSH客户端而非系统默认SSH,在Git Bash中执行which ssh获取路径(通常为C:\Program Files\Git\usr\bin\ssh.exe),然后设置环境变量:
    set GIT_SSH=C:\Program Files\Git\usr\bin\ssh.exe
    也可以通过系统属性-环境变量面板添加该全局变量,避免每次手动设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:02:08