如何使用npm仅安装“devDependencies”

zf9nrax1  于 2022-11-24  发布在  其他
关注(0)|答案(7)|浏览(353)

我试图只安装package.json文件中列出的“devDependencies”。但以下命令都不起作用。以下所有命令都安装了我不需要的生产依赖项。

npm install --dev
npm install --only=dev
npm install --only-dev

我想不出任何其他方法来告诉npm单独安装devDependencies。

ttp71kqs

ttp71kqs1#

检查NPM docs for install
使用--production标志(或当NODE_ENV环境变量设置为production时),npm将不会安装devDependencies中列出的模块。
--only={prod[uction]|dev[elopment]}参数将导致仅安装devDependencies或仅安装非devDependencies,而不考虑NODE_ENV。
您是否尝试过以下方法?

npm install --only=dev
x7rlezfr

x7rlezfr2#

npm i -D

可选的简短版本。

92vpleto

92vpleto3#

npm install thePackageName --save-dev

这对我来说很好。

zc0qhyus

zc0qhyus4#

从npm版本7.10.0开始,你可以忽略某些类型的依赖项,但是你不能再忽略“the”依赖项(生产)了。这就是为什么这个问题没有解决方案了。

w8ntj3qf

w8ntj3qf5#

不再支持--only=dev选项。要执行dev依赖项安装,请运行npm install --production=false

v1l68za4

v1l68za46#

运行npm install,它将安装devDependencies'或dependencies下所有依赖项
用于安装软件包并将其保存为软件包中的dev依赖项。json、npm install package_name --save-dev或传递选项-D
用于安装devDependencies下的所有软件包,npm install --only=dev
用于在package.json、npm install package_name --save-prod或传递选项-Pnpm install package_name中安装包并将其保存为prod或仅依赖项
要安装dependenciesProd dependencies下的所有软件包,请设置环境变量NODE_ENV=production或使用命令NODE_ENV=production npm installnpm install --only=prod传递它
除了在npm命令中使用install(如npm install)之外,您可以只使用i(如npm i),而不用install。
Reference

sczxawaw

sczxawaw7#

在npm的最新版本中,没有办法只安装dev依赖项,但是有一个变通方法可以解决。
您可以创建另一个package_dev.json文件,在其中仅放置devDependencies,并将依赖项保留为空。
如果只安装dev依赖项,则可以执行以下脚本

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操作,只想安装dev依赖项。
该方法的唯一缺点是,每次在package.json文件中有更新时,您都需要注意更新package_dev.json。

相关问题