Gruñido.js: ¿Qué significa-save-dev en npm install grunt save save-dev
Acabo de empezar a usar Grunt.js . Es bastante difícil de configurar y estoy a punto de crear un archivo package.json
.
Siguiendo este tutorial , dice que hay 3 formas de crear un archivo package.json
.
El primero es hacer npm install grunt --save-dev
Pero, ¿qué significa --save-dev
? Traté de mirar, pero termina en vano.
5 answers
Save save-dev: Package aparecerá en sus devDependencies.
De acuerdo con el npm install docs.
Si alguien está planeando descargar y usar su módulo en su programa, entonces probablemente no quiera o necesite descargar y construir el marco externo de prueba o documentación que usa.
En otras palabras, cuando ejecuta npm install
, se instalarán las devDependencies de su proyecto, pero las devDependencies para cualquier paquete que su aplicación depende de no se instalará; además, otras aplicaciones que tienen su aplicación como una dependencia no necesitan instalar sus devDependencies. Estos módulos solo deben ser necesarios al desarrollar la aplicación (por ejemplo, grunt, mocha, etc.).
Según el paquete .json docs .
Editar: Intento de visualizar lo que npm install
hace:
- tu proyecto
- dependencia instalada
- dependecy instalado
- dependecy instalado
devDependency NO instalado
devDependency NO instalado
- dependecy instalado
-
devDependency installed
- dependecy instalado
devDependency NO instalado
- dependencia instalada
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-15 12:41:33
Hay (al menos) dos tipos de dependencias de paquetes que puede indicar en su paquete.archivos json:
-
Los paquetes que se requieren para usar su módulo se enumeran bajo la propiedad "dependencies". Usando npm puedes agregar esas dependencias a tu paquete.archivo json de esta manera:
npm install --save packageName
-
Los paquetes necesarios para ayudar a a desarrollar su módulo están listados bajo la propiedad "devDependencies". Estos paquetes no son necesario para que otros usen el módulo, pero si quieren ayudar a desarrollar el módulo, estos paquetes serán necesarios. Usando npm puedes agregar esas dependencias de desarrollo a tu paquete.archivo json de esta manera:
npm install --save-dev packageName
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-28 18:18:32
Para agregar a la respuesta de Andreas, ya que aún no puedo comentar, puede instalar solo las dependencias usando:
npm install --production
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-24 19:56:27
La documentación de npm para npm install <package-name> --save
y npm install <package-name> --save-dev
se puede encontrar aquí:
Https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags
Un archivo package.json
declara metadatos sobre el módulo que está desarrollando. Ambos comandos antes mencionados modifican este archivo package.json
. --save
declarará el paquete instalado (en este caso, grunt
) como una dependencia para su módulo; --save-dev
declarará como una dependencia para el desarrollo de su módulo.
Pregúntese: ¿será necesario el paquete instalado para el uso de mi módulo, o solo será necesario para desarrollarlo?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-24 21:19:14
Cuando utilice el parámetro "save save" su dependencia irá dentro del paquete #1.json. Cuando usas el parámetro "save save-dev" tu dependencia irá dentro del paquete #2 in.json.
1) "dependencias": estos paquetes son requeridos por su aplicación en producción.
2)" devDependencies": estos paquetes solo son necesarios para el desarrollo y las pruebas
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-05 00:23:55