我试图只安装package.json文件中列出的“devDependencies”。但以下命令都不起作用。以下所有命令都安装了我不需要的生产依赖项。
npm install --dev npm install --only=dev npm install --only-dev
我想不出任何其他方法来告诉npm单独安装devDependencies。
ttp71kqs1#
检查NPM docs for install:使用--production标志(或当NODE_ENV环境变量设置为production时),npm将不会安装devDependencies中列出的模块。--only={prod[uction]|dev[elopment]}参数将导致仅安装devDependencies或仅安装非devDependencies,而不考虑NODE_ENV。您是否尝试过以下方法?
--production
NODE_ENV
devDependencies
--only={prod[uction]|dev[elopment]}
npm install --only=dev
x7rlezfr2#
npm i -D
可选的简短版本。
92vpleto3#
npm install thePackageName --save-dev
这对我来说很好。
zc0qhyus4#
从npm版本7.10.0开始,你可以忽略某些类型的依赖项,但是你不能再忽略“the”依赖项(生产)了。这就是为什么这个问题没有解决方案了。
w8ntj3qf5#
不再支持--only=dev选项。要执行dev依赖项安装,请运行npm install --production=false
npm install --production=false
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或传递选项-P或npm install package_name中安装包并将其保存为prod或仅依赖项要安装dependencies或Prod dependencies下的所有软件包,请设置环境变量NODE_ENV=production或使用命令NODE_ENV=production npm install或npm install --only=prod传递它除了在npm命令中使用install(如npm install)之外,您可以只使用i(如npm i),而不用install。Reference
npm install
npm install package_name --save-dev
-D
npm install package_name --save-prod
-P
npm install package_name
NODE_ENV=production
NODE_ENV=production npm install
npm install --only=prod
install
i
npm i
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。
7条答案
按热度按时间ttp71kqs1#
检查NPM docs for install:
使用
--production
标志(或当NODE_ENV
环境变量设置为production时),npm将不会安装devDependencies
中列出的模块。--only={prod[uction]|dev[elopment]}
参数将导致仅安装devDependencies或仅安装非devDependencies,而不考虑NODE_ENV。您是否尝试过以下方法?
x7rlezfr2#
可选的简短版本。
92vpleto3#
这对我来说很好。
zc0qhyus4#
从npm版本7.10.0开始,你可以忽略某些类型的依赖项,但是你不能再忽略“the”依赖项(生产)了。这就是为什么这个问题没有解决方案了。
w8ntj3qf5#
不再支持--only=dev选项。要执行dev依赖项安装,请运行
npm install --production=false
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
或传递选项-P
或npm install package_name
中安装包并将其保存为prod或仅依赖项要安装dependencies或Prod dependencies下的所有软件包,请设置环境变量
NODE_ENV=production
或使用命令NODE_ENV=production npm install
或npm install --only=prod
传递它除了在npm命令中使用
install
(如npm install
)之外,您可以只使用i
(如npm i
),而不用install。Reference
sczxawaw7#
在npm的最新版本中,没有办法只安装dev依赖项,但是有一个变通方法可以解决。
您可以创建另一个package_dev.json文件,在其中仅放置devDependencies,并将依赖项保留为空。
如果只安装dev依赖项,则可以执行以下脚本
我也有类似的需求,我需要创建一个gitHub操作,只想安装dev依赖项。
该方法的唯一缺点是,每次在package.json文件中有更新时,您都需要注意更新package_dev.json。