Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Docker从npm install编写v3命名卷和node_modules大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用撰写v3.

在构建中我复制package.json并运行npm install into

/var/www/project/node_modules

我不在构建阶段添加任何代码.

在撰写时我添加了卷

- ./www:/var/www/project/www

众所周知,绑定到/ www的主机将有效地“覆盖”我在构建阶段安装的node_modules.

这就是我们之后添加命名模块的原因

- ./www:/var/www/project/www
- modules:/var/www/project/www/node_modules

我们第一次构建/运行项目时,这工作正常,花花公子

由于命名卷“模块”不存在,因此将安装构建阶段的www / node_modules.

但是,这是实际问题.

下次我对package.json进行更改并执行

docker-compose up --build

我可以看到新的npm模块是如何安装的,但是一旦附加了命名的“模块”卷(它现在存在于上一次运行中的东西),它“覆盖”图像中新安装的模块.

上面提到的添加命名卷的方法是在很多地方建议的,作为节点模块问题的补救措施.但据我从大量测试中看到,这只能工作一次.

如果我每次对package.json进行更改时都要重命名命名卷,那当然可以工作.

解决方法

@H_489_45@ 更好的方法是在运行npm install之前在入口点脚本中包含rm命令以清除节点模块.

作为替代方案,您可以在运行另一个构建之前使用$docker system prune.这将确保没有使用早期的东西.

大佬总结

以上是大佬教程为你收集整理的node.js – Docker从npm install编写v3命名卷和node_modules全部内容,希望文章能够帮你解决node.js – Docker从npm install编写v3命名卷和node_modules所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。