遇到 npm install 报错提示 Permission denied (publickey),通常意味着 SSH 密钥未正确配置或网络无法访问远程仓库。以下是排查步骤。
1. 检查 SSH 密钥配置
这个错误最常见的原因是本地没有生成 SSH 密钥,或者公钥没添加到 GitHub 账户里。
生成并添加 SSH 密钥:
- 打开终端(Windows 下可用 PowerShell 或 Git Bash)。
- 运行以下命令生成新密钥(如果已有可跳过):
ssh-keygen -t rsa -b 4096 -C "[email protected]"
- 查看生成的公钥内容:
cat ~/.ssh/id_rsa.pub
- 登录 GitHub,进入 Settings -> SSH and GPG keys,点击 New SSH key,将刚才复制的内容粘贴进去保存。
- 测试连接是否成功:
ssh -T [email protected]
正常应看到类似 Hi your_username! You've successfully authenticated... 的提示。
2. 使用 HTTPS 替代 SSH 协议
如果不想折腾 SSH,或者公司网络限制了 SSH 端口,可以直接切换为 HTTPS 协议。
找到项目中的 package.json 文件,定位到 raphael 相关的依赖项,将 SSH 链接改为 HTTPS 格式:
"raphael": "https://github.com/nhn/raphael.git"
保存后重新运行 npm install 即可。
3. 清除 npm 缓存
有时 npm 的缓存数据损坏也会导致安装中断,建议清理后再试。
npm cache clean --force
npm install
4. 确保网络与代理设置
检查是否能正常访问 GitHub。如果是公司内网或受限环境,可能需要配置代理或使用 VPN。
- 尝试在浏览器访问 https://github.com 确认连通性。
- 若需代理,可在 npm 中临时配置:
npm config set proxy http://proxy_url:port
npm config set https-proxy http://proxy_url:port
5. 私有仓库权限确认
如果目标仓库是私有的,请确认当前使用的 SSH 密钥已绑定到拥有该仓库访问权的 GitHub 账号上。若是协作者身份,需确保对方已邀请你加入团队。
调试技巧
如果以上方法仍无效,可以开启详细日志模式查看具体卡在哪一步:


