unable tutorial serve node grunt fatal error cli node.js gruntjs npm

node.js - tutorial - Grunt.js: ¿Qué significa-save-dev en npm install grunt--save-dev



npm grunt (5)

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 ? Intenté mirar pero termina en vano.


--save-dev: El paquete aparecerá en tus devDependencies.

De acuerdo con los documentos de instalación npm .

Si alguien está planeando descargar y usar su módulo en su programa, entonces probablemente no quieran o necesiten descargar y crear la prueba externa o el marco de documentación que utiliza.

En otras palabras, cuando ejecute npm install , se npm install su proyecto, pero no se instalarán las devDependencies de los paquetes de los que depende su aplicación; Además, otras aplicaciones que tengan su aplicación como una dependencia no necesitan instalar sus DevDependencies. Dichos módulos solo deberían ser necesarios al desarrollar la aplicación (por ejemplo, grunt, mocha, etc.).

Según los npmjs.org/doc/json.html#devDependencies .

Edición: Intente visualizar lo que npm install :

  • tu proyecto
    • dependencia instalada
      • dependencia instalada
        • dependencia instalada
        • devDependency NO instalado
      • devDependency NO instalado
    • devDependency instalado
      • dependencia instalada
      • devDependency NO instalado

Cuando use el parámetro "--save", su dependencia irá dentro del # 1 en package.json. Cuando use el parámetro "--save-dev", su dependencia irá dentro del # 2 en package.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


Hay (al menos) dos tipos de dependencias de paquetes que puede indicar en sus archivos package.json:

  1. Los paquetes que se requieren para utilizar su módulo se enumeran en la propiedad "dependencias". Usando npm puede agregar esas dependencias a su archivo package.json de esta manera:

    npm install --save packageName

  2. Los paquetes necesarios para ayudar a desarrollar su módulo se enumeran en la propiedad "devDependencies". Estos paquetes no son necesarios 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 DevDependencies a tu archivo package.json de esta manera:

    npm install --save-dev packageName


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. Los dos comandos mencionados anteriormente modifican este archivo package.json . --save declarará el paquete instalado (en este caso, grunt ) como una dependencia para su módulo; --save-dev lo declarará como una dependencia para el desarrollo de su módulo.

Pregúntese: ¿se requerirá el paquete instalado para usar mi módulo, o solo se requerirá para desarrollarlo?


Para agregar a la respuesta de Andreas, como todavía no puedo comentar, solo puede instalar las dependencias usando: npm install --production