Cómo instalar solo "devDependencies" usando npm

87

Estoy intentando instalar SOLAMENTE las "devDependencies" enumeradas en mi archivo package.json. Pero ninguno de los siguientes comandos funciona como esperaba. Todos los siguientes comandos instalan las dependencias de producción también que no quiero.

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

No puedo pensar en ninguna otra forma de decirle al npm que instale devDependencies solo. :(

Nesan Rajendran
fuente
como hoy: npm WARN install El uso de la --devopción está en desuso. Úselo en su --only=devlugar.
Andriy Leshchuk

Respuestas:

135

Consulte los documentos de NPM para instalar :

Con el --productionindicador (o cuando la NODE_ENVvariable de entorno se establece en producción), npm no instalará los módulos enumerados en devDependencies.

El --only={prod[uction]|dev[elopment]}argumento hará que solo se instalen devDependencies o solo que no sean devDependencies, independientemente del NODE_ENV.

¿Has intentado lo siguiente?

npm install --only=dev
Ahmed farag mostafa
fuente
10
Acabo de descubrir que mi versión npm era 2.x. Lo actualicé a v3.x ejecutando el comando npm install npm -gy la opción --only = dev funcionó como un encanto. Gracias por la respuesta.
Nesan Rajendran
El problema de la versión mencionado por @NesanJoseph también fue el problema en mi caso. En la versión anterior de npm, se npm install --produsa para instalar elementos desde la dependenciescarpeta. Tanto npm instally npm install --devse utiliza para la instalación desde ambos los dependenciesy devDependencieslas carpetas!
Shiyaz
Recibo el mismo problema que menciona @ricka usando nvm para ejecutar node v 10.9.0 y npm v 6.4.1 (ambas versiones más recientes a partir del 18/10) y también usando --only = dev todavía está instalando dependencias de aplicaciones también . Básicamente, los indicadores de instalación de npm son 100% inútiles en este punto.
Henry
No funciona para mí (nodo v12.19.0, npm v6.14.8). Quizás tenga algo que ver con este problema abierto desde abril de 2016: github.com/npm/npm/issues/12184
Fapaz
23
npm install thePackageName --save-dev

Esto funciona bien para mi.

Jeff
fuente
3
--save-devguarda el paquete en devDependencies en package.json
Rashomon
1
--save-dev está destinado a señalar que el paquete instalado se instalaría bajo devDependencies
Daniel Dubovski
3
Más comonpm install thePackageName --save-dev
Deke
3
Esto instalará un solo nombre explícito de paquete y lo guardará en las dependencias de desarrollo. La pregunta es cómo instalar solo devDependencies desde package.json.
Lalnuntluanga Chhakchhuak
1
No cumple con los criterios de la pregunta. Su respuesta es instalar: 1. un solo paquete 2. la pregunta pregunta cómo instalar cosas que ya están en package.json pero solo en la lista de dependencias.
Urasquirrel
15
npm i -D

Una versión corta opcional.

Roger Muscito
fuente
SÍ, lo había hecho npm install -Dy funcionó. así que me sorprendió y en Google esto, después de muchas respuestas que veo su respuesta :)
its4zahoor
2

En ejecución npm install, instalará todas las dependencias bajo devDependencies `o dependencias .

Para instalar y guardar paquetes como dependencias de desarrollo en package.json npm install package_name --save-devu opción de paso-D

Para instalar todos los paquetes en devDependencies , npm install --only=dev

Para instalar y guardar paquetes como prod o solo dependencias en package.json, npm install package_name --save-prodo pasar la opción -Ponpm install package_name

Para instalar todos los paquetes bajo dependencias o dependencias de Prod , establezca la variable de entorno NODE_ENV=productiono páselo con el comando NODE_ENV=production npm installonpm install --only=prod

En lugar de usar el installcomando npm como npm install, puede usar ilike npm i, sin instalar.

Referencia

Piyush Sonigra
fuente