En Windows, por alguna razón, cuando lo ejecuto npm installno instalará devDependencies . AFAIK debería. Si ejecuto npm install --dev devDependencies se instalan. No entiendo por qué npm installno 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"
}
}

devDependenciesson literalmente dependencias para los desarrolladores del módulo . Apuesto a que la mayoría de nosotros tenemosnpm installun módulo para usarlo, en lugar de desarrollarlo.devDependenciessolo es necesaria cuando escribes el paquete (aplicación). Usarlo no requiere eldevDependencies. Por lodevDependenciestanto , es razonable requerir que se instalen banderas adicionales. Si senpm installinstaladevDependenciespor defecto , los usuarios también obtendrían paquetes redundantes.npm ien mi carpeta toma pypackage.jsone instala tanto deps como devdeps. Esta es la forma en que está destinado a funcionar y tiene sentido (por ejemplo, cuando lo hagonpm idespués degit cloneque 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 ideberí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 productionPara configurarlo:
npm config set -g production falsefuente
truelugar defalse?asegúrese de no tener la variable env
NODE_ENVconfigurada en 'producción'.Si lo hace, las dependencias de desarrollo no se instalarán sin la
--devbanderafuente
npm install --devinstala devDependencies de forma recursiva . Esto casi nunca es lo que quieres y, de hecho, está en desuso .--devopción está en desuso. Usar en su--only=devlugarTenía un
package-lock.jsonarchivo 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=devno funcionó, y tampoco lo hizonpm rebuild. Finalmente, tuve que eliminarnode_modulesy volver apackage-lock.jsonejecutarnpm 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.jsonsea válido ...Tuve el siguiente error ...
npm WARN Invalid name: "blah blah blah"y eso, de manera similar, hizo que
devDependenciesno se instalara.FYI, cambiando el
package.json"nombre" parablah-blah-blaharreglarlo.fuente
Tengo el mismo problema porque configuré
NODE_ENV=productionmientras construía Docker. Luego agrego uno másnpm install --only=dev. Todo funciona bien Necesito las devDependencies para construir módulos TypeSciprtfuente