instalar from devdependencies como node.js dependencies npm

node.js - from - npm install global



npm install packagename--save-dev no está actualizando package.json (16)

Después de usar el generador express, instalé algunos paquetes con --s y ninguno de ellos se agregó a package.json.

Luego eliminé package.json y ejecuté npm init y todos se agregaron sin tener que volver a instalarlo

¿Hay razones simples o sutiles que package.json no actualiza después de ejecutar un --save-dev? Este es mi comando:

npm install modulename --save-dev

Ejecutar desde la raíz del proyecto. El comando tiene éxito, el nuevo módulo aparece en el directorio node_modules como se esperaba. La ayuda sería apreciada Estoy usando npm v 1.4.28

La totalidad de mi package.json actual es:

{ "name": "FooWeb", "version": "1.0.0", "description": "Foo Web", "devDependencies": { "gulp": "3.8.11", "gulp-jshint": "1.9.2", "gulp-concat": "2.5.2", "gulp-sass": "1.3.3", "gulp-sourcemaps": "1.4.0", "gulp-watch": "4.1.1" } }

Recibo advertencias durante la instalación de un paquete que no tengo campo de repositorio o README, pero creo que no está relacionado.


Eliminar la dependencia de devDependencies en el archivo package.json e instalar nuevamente usando solo --save funcionó para mí


Es posible que primero desee verificar su configuración ( npm config ls o archivo ~/.npmrc ). Tenía link=true .

En la versión 5.5.1, esta opción parece ignorarse cuando --save está activo. Dado que --save-dev reemplaza --save , el modo de enlace está activo de nuevo.

Entonces, para mí, las cosas pasan como si --save --link que a su vez había sido --save-dev .


Estaba intentando instalar gruntjs usando "npm install --save grunt-sass" pero el paquete.json no se actualizará

Hice todo lo mencionado anteriormente, pero no tuve suerte. Pero lo curioso es que si intento agregar un paquete, diga "subrayado (npm install --save subrayado)" el ​​hijo se actualiza. No estoy seguro de si esto es un problema con el nam como tal. Lo instalé como un súper usuario.


Esto puede ocurrir en VSCode (o probablemente en otros editores) si tiene un package.json no guardado. package.json abierto.

El archivo en realidad se estaba actualizando pero no se volvió a cargar en el IDE. ¿Creo que el valor predeterminado es volver a cargar solo si el archivo no está editado? O tal vez hice clic en algo para ignorar las advertencias.


Hubo un error de sintaxis en mi package.json que me estaba causando esto.


La única forma en que pude resolver esto fue usando npm install --save-dev moduleName lugar de npm install moduleName --save-dev . Usando npm install moduleName --save funciona bien para mí, sin embargo. Solo cuando uso --save-dev , tengo que ponerlo antes del moduleName . Espero que esto ayude a cualquiera.


La respuesta de Mustafah ELBanna me ayudó, pero quiero ampliar su respuesta para otros novatos como yo. Por favor corrígeme si echo algo importante.

Si quita el indicador -g , el módulo no se instala globalmente para su máquina, sino solo localmente en su proyecto. Si también desea que se instale de manera global, ejecute el mismo comando nuevamente, pero ahora con -g lugar de --save-dev siguiente manera:

npm install --save-dev [packagename]

npm install -g [packagename]

Me parece que algo podría salir mal al llamar a -g y --save en una línea.

Pero nuevamente, soy nuevo en esto y agradezco a todos los que quieran mejorar / corregir mi respuesta.


Me encontré con esto recientemente, y descubrí que, por cualquier razón, era Atom lo que impedía que el archivo se actualizase, incluso sin abrir el archivo.

Cerré el editor, volví a ejecutar mi instalación npm, volví a abrir el editor y todo estaba como debía.


Para mí, el problema fue que copié el comando del bloc de notas ++, puede haber tenido caracteres especiales allí o eran los espacios, y no estaba actualizando mi paquete.json.

por ejemplo, no funcionó; npm install --save debug pug jwt-simple method-override mongoose

Cuando la instale, asegúrese de limpiar la línea de comando, por ejemplo, cualquier espacio entre cada módulo, ya que también puede contener caracteres especiales, dependiendo de su codificación.

Cuando lo corregí a esto funcionó.

npm install --save debug pug jwt-simple method-override mongoose

Además, asegúrese de que package.json no se abra en un editor cuando ejecute el comando, ya que no todos los editores lo manejan correctamente.


También tuve este problema, y ​​me estaba volviendo loco.

Lo que finalmente se arregló fue ejecutar npm init . Esto agregó un montón de cosas a mi paquete --save-dev , pero después --save-dev funcionó como se esperaba. Incluso después de eliminar todas las cosas nuevas agregadas por npm init , --save-dev aún funcionaba.


Tenía la bandera -g allí, cuando la quité, funcionó como se esperaba ...


Tengo un archivo .npmrc que usa una npm construida internamente para buscar paquetes. Mi problema era que no estaba conectado a la VPN mi empresa.


Yo tuve el mismo problema. Cuando instalé algún paquete, no se mostró en el paquete. Json. Entonces borré el archivo package.json y ejecuté npm init nuevamente. Después de eso, estaba funcionando y los paquetes que instalé antes también estaban allí en dependencias.


navegue hasta el archivo JSON -> haga clic derecho en propiedades -> elimine el indicador "solo lectura".


npm-upgrade todos los comandos indicados en las respuestas anteriores, pero tuve éxito al instalar el paquete npm-upgrade .

npm i -g npm-upgrade luego npm-upgrade