我试图安装 package.json 文件中列出的 "devDependencies",但以下命令都不像我期望的那样工作。所有以下命令都会安装我不想要的生产依赖项。
npm install --dev
npm install --only=dev
npm install --only-dev
我想不出任何告诉npm只安装devDependencies的方法了。:(
我试图安装 package.json 文件中列出的 "devDependencies",但以下命令都不像我期望的那样工作。所有以下命令都会安装我不想要的生产依赖项。
npm install --dev
npm install --only=dev
npm install --only-dev
我想不出任何告诉npm只安装devDependencies的方法了。:(
查看NPM的安装文档:
使用
--production
参数(或将NODE_ENV
环境变量设置为production时),npm不会安装devDependencies
中列出的模块。
--only={prod[uction]|dev[elopment]}
参数将导致只安装devDependencies
或只安装非devDependencies
,而不考虑NODE_ENV
。
你试过以下方法吗?
npm install --only=dev
npm install npm -g
进行了升级,使用 --only=dev 选项非常顺利。感谢您的回复。 - Nesan Rajendrannpm install --prod
会从dependencies
文件夹安装项目。而npm install
和npm install --dev
则会同时从dependencies
和devDependencies
文件夹安装! - Shiyaznpm i -D
一个可选的简短版本。
npm install -D
命令并且它成功了。所以我感到很惊讶并在谷歌上搜索了一下,看到了你的回答 :) - its4zahoornpm i -D
是否符合您的预期。文档中没有任何相关参考。我猜测 -D
标志被忽略了,这里执行的是普通的 npm i
。请参考 https://docs.npmjs.com/cli/v8/commands/npm-install。 - Michael Murphy-D
是唯一的方式。 - undefinednpm install thePackageName --save-dev
对我来说这很好用。
--save-dev
会将包保存到 package.json 文件的 devDependencies 中。 - Rashomonnpm install thePackageName --save-dev
。 - Deke从npm版本7.10.0开始,你可以省略某些类型的依赖项,但是你不能再省略"the"依赖项(生产环境)。因此,这个问题已经没有解决方案了。
--only=dev
选项已经不再受支持。要安装开发依赖项,请运行 npm install --production=false
npm install --production=false
将安装所有依赖项,包括正常和开发环境,因为这是在非生产环境(即开发环境)中所需的。 - Michael Murphy在最新版本的npm中,没有办法仅安装开发依赖项。但是有一个解决方法可以实现。
您可以创建另一个package_dev.json文件,在其中只放置devDependencies并保持dependencies为空。
然后,要仅安装开发依赖项,可以执行下面的脚本。
cp package.json temp.json && \
cp package_dev.json package.json && \
npm install && \
rm -rf package.json && \
cp temp.json package.json && \
rm -rf temp.json
我有类似的需求,需要创建一个GitHub操作并仅安装开发依赖项。上述解决方法对我非常有用。
这种方法的唯一缺点是,每当package.json文件更新时,您需要注意更新package_dev.json。
运行npm install
,它将安装所有位于devDependencies或dependencies下的依赖项。
要安装并将软件包保存为开发依赖项,可以在命令后添加选项-D
,例如npm install package_name --save-dev
要安装所有位于devDependencies下的软件包,可以使用命令npm install --only=dev
要安装并将软件包保存为生产环境或者普通依赖项,可以在命令后添加选项-P
,例如npm install package_name --save-prod
或者 npm install package_name
要安装所有位于dependencies或Prod dependencies下的软件包,请设置环境变量NODE_ENV=production
,或者在命令中添加该选项,例如NODE_ENV=production npm install
或npm install --only=prod
除了使用完整命令npm install
之外,还可以使用缩写命令i
,例如npm i
--production=false
而不是上面的方式。 - devspeter--production=false
不能解决 OP 的问题:它会安装 dependencies 和 devDependencies,而不仅仅是 devDependencies。 - Michael K