对于我的开发设置,我在Docker容器中使用Node.js。我将node_modules文件夹放在Docker镜像中,以避免因非Linux主机和Docker引擎之间的体系结构差异而导致的潜在问题。每当我添加模块时,我都会重建图像,这是一个在容器中调用npm install
的过程。要将依赖项添加到package.json,我会在主机上运行npm --save install <module>
,因为我在那里编辑文件。这将模块安装到并不真正需要它的主机上。这是浪费时间和带宽。
我可以手动编辑package.json,但这很容易出错,需要查找模块的版本号。有没有办法通过npm进行更改,同时避免不必要的安装?
答案 0 :(得分:0)
当你的docker容器运行时,你可以在容器中运行npm install:
docker exec -ti <container id or name> npm install --prefix ./path/to/your/app <package> --save