【发布时间】:2017-07-13 01:40:36
【问题描述】:
在处理节点项目时,我无法使用 npm 分离应用程序的安装和测试依赖项。我正在使用节点版本 8.1.2 和 npm 版本 5.0.3。
为了详细说明,我正在使用 docker 为我的节点应用程序创建 production 和 test 图像,并认为 production 图像将具有仅安装了应用程序依赖项(例如 aws-sdk、xml-builder)。我通过在 production docker 映像中运行 npm install -q --only=prod 来做到这一点。
test 图像扩展了 production 图像并在其上安装了测试依赖项(例如 chai、mocha)。这是通过在 test docker 镜像中运行 npm install -q --only=dev 命令来实现的。本练习的目的是创建一个干净的生产映像,其中没有不必要的包。
但是当我执行后一个 npm 命令 (npm install -q --only=dev) 时,它会删除第一次安装时安装的软件包。我在另一个使用旧版本的 npm 和 node 的项目中做同样的事情,它工作正常。
最新版本的 npm 有什么变化吗?如果是这样,是否有其他规定的方法可以达到相同的效果?
【问题讨论】:
标签: node.js npm-install