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

通过HTTPS克隆他人仓库后执行npm install遇publickey权限拒绝问题

解决npm安装angularfire2/storage时的SSH权限拒绝问题

嘿,我刚碰到过几乎一模一样的情况,给你拆解下问题和靠谱的解决办法:

问题根源

你用HTTPS克隆项目完全没问题,但执行npm install angularfire2/storage这种GitHub用户名/仓库名简写格式的安装命令时,npm默认会调用SSH协议(也就是报错里的ssh://git@github.com/angularfire2/storage.git)去拉取代码。而你的本地没有配置能通过GitHub验证的SSH密钥,自然就触发了Permission denied (publickey)的报错。

快速临时解决方案(不用改全局配置)

直接用完整的HTTPS地址安装这个包,绕开SSH协议:

npm install https://github.com/angularfire2/storage.git

全局配置:让所有GitHub包安装默认用HTTPS

如果你不想每次都写长地址,可以在git层面做个全局配置,把所有SSH格式的GitHub请求自动转换成HTTPS:

git config --global url."https://github.com/".insteadOf ssh://git@github.com/

配置完成后,再执行npm install angularfire2/storage就不会再碰到SSH权限问题了。

可选:配置SSH密钥(长期用SSH访问GitHub)

如果你以后经常需要用SSH操作GitHub仓库,可以生成并配置专属SSH密钥:

  • 生成新的SSH密钥(替换成你的GitHub注册邮箱):
    ssh-keygen -t ed25519 -C "your_github_email@example.com"
    
    执行过程中按回车接受默认存储路径和空密码即可。
  • 启动SSH代理并添加密钥:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    
  • 复制公钥内容:
    cat ~/.ssh/id_ed25519.pub
    
    然后打开GitHub账号的「Settings → SSH and GPG keys」,点击「New SSH key」,把复制的公钥内容粘贴进去保存就大功告成了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:05:43