错误现象
执行 npm install 时报错,提示无法从远程仓库读取数据:
npm ERR! code 128
npm ERR! An unknown git error occurred
npm ERR! command git --no-replace-objects ls-remote ssh://[email protected]/nhn/raphael.git
npm ERR! [email protected]: Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.
解决方法
1. 检查 GitHub SSH 配置
该错误通常发生在通过 SSH 协议获取依赖时,未正确设置 SSH 密钥或密钥未添加到 GitHub。
生成和添加 SSH 密钥:
- 打开命令行(Windows 中是 PowerShell 或 Git Bash)。
- 运行以下命令生成新的 SSH 密钥(如果尚未生成):
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, but GitHub does not provide shell access.
2. 使用 HTTPS 替代 SSH 协议
如果不希望使用 SSH,可切换为 HTTPS 协议。
- 找到
package.json文件,查找与raphael相关的依赖项。 - 将 SSH 链接(例如
ssh://[email protected]/nhn/raphael.git)改为 HTTPS 链接:"raphael": "https://github.com/nhn/raphael.git" - 保存后再次运行
npm install。
3. 清除 npm 缓存
有时 npm 缓存会导致安装失败,尝试清除缓存再重新安装依赖。
npm cache clean --force
npm install
4. 确保网络正常
检查网络设置,确保能够访问 GitHub。
- 在公司网络或受限网络中,可能需要配置代理或使用 VPN。
- 尝试访问 GitHub 确认连接状态。


