首页 > 解决方案 > npm 安装错误:“主机密钥验证失败”

问题描述

我正在尝试npm install在一个新的 Angular 应用程序中运行。我在公司防火墙后面运行它,这显然是问题所在。

我在pemrouz/buble包中遇到了错误,这是依赖项的依赖项。Angular 的依赖项之一是明确指定使用 SSH 下载 buble。最初,SSH 连接被阻止,但我能够说服网络组允许连接。

但是,它仍然被代理,这会弄乱 SSL 的东西。

我可以git clone通过指定 git 不使用严格的 SSL 来打包,但 NPM 会忽略此设置。我还可以指定 NPM 不使用严格的 SSL,这允许 HTTPS 连接正常工作——但显然这也不适用于 SSH。

我没有使用 Docker 或 Chocolatey(对于其他看到此错误的人来说,这似乎是问题的常见来源)。

我在 StackOverflow 和其他地方看到过其他问题,人们遇到过这个问题,但答案总是“你运行的是旧版本的 NPM”。但是,我正在运行 6.14.4,这似乎是最新的。此外,我不明白这会如何导致主机密钥问题?

如何在不使用严格 SSL 的情况下让 NPM 建立 SSH 连接?否则,我该如何解决主机密钥验证问题?

谢谢!

编辑:我跑了ssh git@github.com,它提示我“你想相信这个吗?” 我说是的 - 现在它在我运行时显示错误“权限被拒绝(公钥)” npm install

这不是私人回购,它是https://github.com/pemrouz/buble上的公共回购。

标签: node.jsgitnpm

解决方案


推荐阅读