En Windows, por alguna razón, cuando lo ejecuto npm install
no instalará devDependencies . AFAIK debería. Si ejecuto npm install --dev
devDependencies se instalan. No entiendo por qué npm install
no instala devDependencies también, sino que solo instala dependencias. ¿Cuál podría ser la razón? ¿Cómo puedo arreglarlo?
Tal vez algo está mal con mi package.json ? Se enumera a continuación si puede ser útil:
{
"name": "try-brunch",
"version": "0.1.0",
"private": "true",
"devDependencies": {
"brunch": "^2.0.4",
"cssnano-brunch": "^1.1.5",
"javascript-brunch": "^1.8.0",
"sass-brunch": "^1.9.2",
"uglify-js-brunch": "^1.7.8"
},
"dependencies": {
"jquery": "^2.1.4"
}
}
devDependencies
son literalmente dependencias para los desarrolladores del módulo . Apuesto a que la mayoría de nosotros tenemosnpm install
un módulo para usarlo, en lugar de desarrollarlo.devDependencies
solo es necesaria cuando escribes el paquete (aplicación). Usarlo no requiere eldevDependencies
. Por lodevDependencies
tanto , es razonable requerir que se instalen banderas adicionales. Si senpm install
instaladevDependencies
por defecto , los usuarios también obtendrían paquetes redundantes.npm i
en mi carpeta toma pypackage.json
e instala tanto deps como devdeps. Esta es la forma en que está destinado a funcionar y tiene sentido (por ejemplo, cuando lo hagonpm i
después degit clone
que espero tener todo lo que necesito, incluidos, por ejemplo, complementos de paquete web). Esta pregunta aborda un error, cuando el comportamiento real es diferente al previsto. Por favor, eche un vistazo a docs - docs.npmjs.com/cli/install . Hay una bandera para no instalar devdeps, pero el comportamiento predeterminado es instalarlos, lo que tiene mucho sentido y es lo que todos esperannpm i
debería arrancar ambos, que es el comportamiento previsto, sensato y documentado, así que honestamente no entiendo por qué dices que este problema debería ser un estándarRespuestas:
Consulte los documentos de NPM para instalar
Has probado
Si le preocupa que su package.json pueda ser incorrecto, lo mejor que puede hacer es esto. Cree una nueva carpeta y ejecute:
Luego:
¡Y deberías estar listo para irte! De lo contrario, seguirá publicando otras opciones.
Verifique su configuración de npm:
npm obtiene su configuración de la línea de comandos, variables de entorno y archivos npmrc. Así que verifique las variables de entorno y el archivo npmrc .
¿Aún fallando?
Ok, cree una nueva carpeta, idealmente en otro lugar de su sistema de archivos. es decir. no en la misma jerarquía de carpetas. Por ejemplo, C: \ myNewFolder - cuanto más cerca de la base C: maneje mejor.
Entonces corre:
Ahora ejecuta:
y finalmente:
¿Funciona todo como se esperaba?
Lo que intento hacer es entender si su problema es global o algo local en la carpeta y dependencias anteriores.
fuente
Compruebe si el valor de producción de la configuración de npm está establecido en verdadero. Si este valor es verdadero, omitirá las dependencias de desarrollo.
correr
npm config get production
Para configurarlo:
npm config set -g production false
fuente
true
lugar defalse
?asegúrese de no tener la variable env
NODE_ENV
configurada en 'producción'.Si lo hace, las dependencias de desarrollo no se instalarán sin la
--dev
banderafuente
npm install --dev
instala devDependencies de forma recursiva . Esto casi nunca es lo que quieres y, de hecho, está en desuso .--dev
opción está en desuso. Usar en su--only=dev
lugarTenía un
package-lock.json
archivo de una versión anterior de mi package.json, lo eliminé y luego todo se instaló correctamente.fuente
Tuve un problema similar.
npm install --only=dev
no funcionó, y tampoco lo hizonpm rebuild
. Finalmente, tuve que eliminarnode_modules
y volver apackage-lock.json
ejecutarnpm install
. Eso me lo arregló.fuente
Puede usar el camino corto para las dependencias de instalación solo para el desarrollo de la siguiente manera:
fuente
Asegúrate de que
package.json
sea válido ...Tuve el siguiente error ...
npm WARN Invalid name: "blah blah blah"
y eso, de manera similar, hizo que
devDependencies
no se instalara.FYI, cambiando el
package.json
"nombre" parablah-blah-blah
arreglarlo.fuente
Tengo el mismo problema porque configuré
NODE_ENV=production
mientras construía Docker. Luego agrego uno másnpm install --only=dev
. Todo funciona bien Necesito las devDependencies para construir módulos TypeSciprtfuente