我有一堆devDependencies需要运行测试套件并锁定生产依赖关系npm shrinkwrap.问题是,当我运行时npm install,只安装了生产依赖项,为了安装devDependencies,我必须删除npm-shrinkwrap.json并再次运行它.
现在,如果包含shrinkwrap devDependencies,它们也会在生产中安装,而不需要它们.当然应该有一些命令行参数来强制只安装普通的依赖项?
gus*_*nke 49
2016年9月:
正如其他人所提到的那样,从npm v3.10.8开始,有一些巨大的努力来增强收缩包装功能.
多亏了这一点,devDependencies在仅安装生产依赖项时,可以保持锁定状态:
npm shrinkwrap --dev
npm install --only=prod
Run Code Online (Sandbox Code Playgroud)
2013回答:
如NPM文档中所述:
由于
npm shrinkwrap旨在锁定生产用依赖项,devDependencies因此除非--dev在运行npm shrinkwrap时显式设置标志,否则不会包含该依赖项.如果devDependencies排除了安装,则npm将打印警告.如果您希望默认情况下将它们与模块一起安装,请考虑将它们添加到依赖项中.
基本上,或者你锁定所有deps,或只锁定生产deps.
甚至没有运行npm install --dev或npm install --force可以超越收缩包裹功能.
| 归档时间: |
|
| 查看次数: |
16041 次 |
| 最近记录: |