devDependencies为了运行测试套件并使用锁定生产依存关系,我有一堆需要的东西npm shrinkwrap。问题是,当我运行时npm install,仅安装了生产依赖性,为了进行安装devDependencies,我必须删除npm-shrinkwrap.json并再次运行它。
devDependencies
npm shrinkwrap
npm install
现在,如果也包含了wrapwrap devDependencies,则可以将它们安装在生产中,而无需使用它们。当然应该有一些命令行参数来强制仅安装常规依赖项?
2016年9月:
正如其他人也提到的那样,从npm v3.10.8开始,人们已经做出了巨大的努力来增强收缩包装功能。
由于此,这将有可能使您的devDependencies锁定,而只安装生产依赖关系:
npm shrinkwrap --dev npm install --only=prod
2013年答案:
如NPM文档所述:
由于npm shrinkwrap旨在锁定您的依赖性以供生产使用,devDependencies因此除非您--dev在运行npmrinkwrap时显式设置该标志,否则不会包括在内。如果未安装devDependencies,则npm将显示警告。如果您希望默认情况下将它们与模块一起安装,请考虑将它们添加到依赖项中。
--dev
基本上,或者您锁定所有部门,或者仅锁定生产部门。
甚至无法运行,npm install --dev甚至npm install --force可以超越拆封功能。
npm install --dev
npm install --force