npm install拉取git+ssh地址bootstrap依赖提示publickey权限拒绝如何解决
核心报错原因
npm安装依赖时需要通过SSH协议拉取GitHub上指定的bootstrap仓库资源,但你本地Git没有配置对应的GitHub SSH访问凭证,触发了公钥权限拒绝错误。
解决方法
- 方案1:配置GitHub SSH公钥(长期有效)
- 打开Git Bash终端(Windows用户)或系统终端(Mac/Linux用户),执行
ls ~/.ssh检查是否已有SSH密钥文件,若存在id_rsa.pub文件可直接跳到第三步 - 执行
ssh-keygen -t rsa -C "你的GitHub账号绑定邮箱",全程按回车使用默认配置即可生成新的SSH密钥 - 打开id_rsa.pub文件,复制文件内的全部内容,登录GitHub后进入设置页面,找到「SSH and GPG keys」选项,点击新建SSH密钥,把复制的内容粘贴到密钥输入框后保存
- 终端执行
ssh -T git@github.com验证配置,返回包含你的GitHub用户名的提示即配置成功,重新执行npm install即可完成安装
- 打开Git Bash终端(Windows用户)或系统终端(Mac/Linux用户),执行
- 方案2:替换Git拉取协议(快速临时解决)
不想配置SSH的话可以直接执行命令,让Git全局将SSH协议拉取GitHub资源的请求替换为HTTPS协议:git config --global url."https://github.com/".insteadOf git@github.com:
配置完成后直接重新执行npm install即可,后续需要恢复默认配置的话执行git config --global --unset url."https://github.com/".insteadOf - 方案3:修改项目依赖配置
如果这个定制的bootstrap仓库你不需要,可直接打开项目根目录的package.json文件,找到bootstrap对应的依赖项,将git+ssh开头的地址替换为官方npm包的版本号,例如"bootstrap": "^5.3.0",之后删除项目下的node_modules文件夹和package-lock.json文件,重新执行npm install即可
内容的提问来源于stack exchange,提问作者KGP
相关产品推荐
相关产品推荐

