【问题标题】:`npm install` fails with package-lock.json on node:10.21.0-jessie-slim Dockerimage`npm install` 在 node:10.21.0-jessie-slim Docker Image 上使用 package-lock.json 失败
【发布时间】:2020-10-06 15:07:25
【问题描述】:

我正在尝试使用 node:10.21.0-jessie-slim docker 映像 npm 安装具有 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

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

【问题讨论】:

    标签: node.js docker npm ssh debian-jessie


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-12-29
      • 1970-01-01
      • 2020-05-25
      • 2022-01-02
      • 2019-06-23
      • 2021-05-13
      • 2019-08-30
      相关资源
      最近更新 更多