`npm install` 失败,package-lock.json on node:10.21.0-jessie-slim Docker Image

`npm install` fails with package-lock.json on node:10.21.0-jessie-slim Dockerimage

我正在尝试使用 node:10.21.0-jessie-slim docker 图像安装具有 git+ssh://git@github.com 依赖项的项目。

我正在 运行 进行这样的 ssh-keyscan:

RUN mkdir /root/.ssh \
  && ssh-keyscan github.com >> /root/.ssh/known_hosts

没有包锁,我可以安装依赖项。 但是当包锁存在时,主机'github.com (140.82.114.3)'的真实性无法确定。

我发现当我运行使用package-lock时,使用的know_hosts文件是/home/node/.ssh/

中的文件

所以,我将它添加到我的 Dockerfile 中:

ssh-keyscan github.com >> /home/node/.ssh/known_hosts

并且有效。但我想知道为什么会这样。

当您的 ssh 配置文件将某些属性设置为 true 时会发生这种情况,例如 CheckHostIPHashKnownHosts 因此如果任何 属性 设置为 true 强制 ssh 验证主机然后 ssh 首先查看进入 known_hosts 所以验证你的 ssh 配置文件。

 ~/. ssh/config and /etc/ssh/ssh_config

请看https://www.ssh.com/ssh/config/