应该如何为Node.js docker应用程序生成package-lock.json文件?

问题描述 投票:0回答:1

Node.js docker教程(https://nodejs.org/en/docs/guides/nodejs-docker-webapp/)指定在启动docker之前应在主机上运行npm install以生成package-lock.json文件。

当npm / node在主机上不可用时,应如何生成此文件?

将新的依赖项添加到package.json时,package-lock.json应该如何更新?

npm指定应将package-lock.json文件签入源代码控制。当通过docker运行npm install时,它会在容器中生成package-lock.json文件 - 这不是从源代码管理中检出的位置。显而易见的解决方法是在文件更新时将文件从容器复制到主机,但似乎应该有一个更简单的解决方案。

node.js docker
1个回答
2
投票

我通常只是创建一个临时容器来运行npm而不必在主机上安装node和npm。像这样的东西:

docker run --rm -v "$(pwd)":/data -w /data -it node bash

然后在bash中我运行npm init生成一个package.json和npm install来生成package-lock.json。您可能希望使用-u "$UID"使文件也由您的主机用户拥有,或者只是在之后使用它。

我做同样的事情来安装新的包,只是在临时容器上的bash内部的npm install package

© www.soinside.com 2019 - 2024. All rights reserved.