有没有一种方法可以使;npm ci“;安装devDependencies,或;npm安装“;不更新package-lock.json?

有没有一种方法可以使;npm ci“;安装devDependencies,或;npm安装“;不更新package-lock.json?,npm,npm-install,npm-ci,Npm,Npm Install,Npm Ci,我正试图为新开发人员在本地开发环境中安装我们的代码库整理文档。我想命令他们: 根据package-lock.json中的版本安装devdependency和依赖项 不更新package-lock.json “npmci”几乎完全符合我的要求,但似乎没有安装devdependency。“npm安装”确实安装devdependences,但它有时会修改package-lock.json 我可以想象像“npm install&&git checkout package lock.json”这样的简

我正试图为新开发人员在本地开发环境中安装我们的代码库整理文档。我想命令他们:

  • 根据package-lock.json中的版本安装devdependency和依赖项
  • 不更新package-lock.json
“npmci”几乎完全符合我的要求,但似乎没有安装devdependency。“npm安装”确实安装devdependences,但它有时会修改package-lock.json


我可以想象像“npm install&&git checkout package lock.json”这样的简陋说法,但我觉得必须有一种更为惯用的方式来表达“给我一个干净的安装这个项目的开发依赖项?”

npm ci
同时安装依赖项和开发依赖项。但是如果您使用
npmci--production
或者如果您的
NODE_ENV
设置为production,那么它可以避免安装开发依赖项。 请核对单据

使用
--production
标志(或当
节点\u ENV
环境 变量设置为“生产”),npm不会安装中列出的模块 依赖性

注意:
--production
标志在添加 对项目的依赖性

覆盖
NODE\u ENV
变量 当
NODE\u ENV
环境变量设置为production时,使用
npm ci
将不会安装devdependency。但如果您仍要安装devDependencies

npm ci --include=dev
会成功的;)


对于早于NPM v7.x的版本,请使用
那么如何
npm安装
然后
npm测试
然后删除devdependency?如果您
npm install--only=production
则无法运行测试。@标记
npm install--no save
npm ci
,然后
npm test
,然后
npm prune--production
您链接到的文档用于
npm install
npmci
页面未列出任何命令行标志。
npm ci
是否支持与
npm install
相同的所有命令行标志?如果是这样的话,我希望在文档中的某个地方清楚地指出这一点。否则,有很多关于“使用此标志”的答案,人们可能会向忽略它们的命令添加选项。如果我运行
npm install--foobar
,npm不会警告或抱怨这是一个无效的选项。所以很有可能很多人正在使用不起任何作用的CLI选项。改用
--include=dev
npm ci --also=dev