Veo instrucciones para instalar un paquete con
npm install <package_name>
o
npm install <package_name> --save
o
npm install <package_name> --save-dev
¿Cuál es la diferencia entre estas opciones?
Respuestas:
npm install <package_name> --save
instala el paquete y actualiza las dependencias en su package.json. Dado que se hizo esta pregunta, hubo un cambio en npm, por lo que se --save
ha convertido en la opción predeterminada, por lo que no es necesario usarla --save
para actualizar las dependencias.
npm install <package_name> --no_save
instala el paquete pero no actualiza las dependencias que se enumeran en su package.json.
npm install <package_name> ---save-dev
actualiza el devDependencies
en su paquete. Estos solo se utilizan para pruebas y desarrollo locales.
Puede leer más en https://docs.npmjs.com/getting-started/using-a-package.json .
npm install toma 3 banderas opcionales exclusivas que guardan o actualizan la versión del paquete en su package.json principal:
-S, --save
: El paquete aparecerá en sus dependencias.
-D, --save-dev
: El paquete aparecerá en sus devDependencies.
-O, --save-optional
: El paquete aparecerá en sus dependencias opcionales.
Al usar cualquiera de las opciones anteriores para guardar dependencias en su package.json, hay una marca opcional adicional:
-E, --save-exact
: Las dependencias guardadas se configurarán con una versión exacta en lugar de utilizar el operador de rango semver predeterminado de npm. Además, si tiene un npm-shrinkwrap.json, también se actualizará.
<scope>
es opcional. El paquete se descargará del registro asociado con el alcance especificado. Si no hay ningún registro asociado con el ámbito dado, se asume el registro predeterminado. Consulte npm-scope.
Nota: si no incluye el símbolo @ en el nombre de su ámbito, npm lo interpretará como un repositorio de GitHub, consulte a continuación. Los nombres de los ámbitos también deben ir seguidos de una barra.
Ejemplos:
npm install sax --save
npm install githubname/reponame
npm install @myorg/privatepackage
npm install node-tap --save-dev
npm install dtrace-provider --save-optional
npm install readable-stream --save --save-exact
Nota: Si hay un archivo o carpeta con nombre <name>
en el directorio de trabajo actual, entonces intentará instalarlo y solo intentará buscar el paquete por nombre si no es válido.
(de documentos oficiales) https://docs.npmjs.com/cli/install
--save
opción aún parece funcionar, ya no es necesaria: los paquetes ahora se guardan en dependencias de forma predeterminada . La lógica ahora está invertida: si no desea guardar su paquete, debe especificarlo--no-save
La --save
bandera ya no sirve para nada.
Anteriormente, como se señaló en las otras respuestas, la --save
bandera actualizaba las dependencias en el package.json
archivo del proyecto , pero npm install
ahora incluye esta funcionalidad de forma predeterminada.
En este punto, si desea evitar npm install
guardar dependencias, debe usar la --no-save
bandera.
Gracias a Coruscate5 por mencionar esto en su comentario .
Más información en la documentación de npm-install :
npm install guarda los paquetes especificados en dependencias de forma predeterminada. Además, puede controlar dónde y cómo se guardan con algunas banderas adicionales:
-P, --save-prod: El paquete aparecerá en sus dependencias. Este es el valor predeterminado a menos que estén presentes -D u -O.
-D, --save-dev: El paquete aparecerá en devDependencies.
-O, --save-optional: El paquete aparecerá en sus dependencias opcionales.
--no-save: evita que se guarden las dependencias.
Al usar cualquiera de las opciones anteriores para guardar dependencias en su package.json, hay dos indicadores opcionales adicionales:
-E, --save-exact: las dependencias guardadas se configurarán con una versión exacta en lugar de utilizar el operador de rango semver predeterminado de npm.
-B, --save-bundle: Las dependencias guardadas también se agregarán a su lista bundleDependencies.