Je vois les instructions pour installer un paquet avec soit
npm install <package_name>
ou
npm install <package_name> --save
ou
npm install <package_name> --save-dev
Quelle est la différence entre ces options?
npm install <package_name> --save
installe le package et met à jour les dépendances dans votre package.json. Depuis que cette question a été posée, il y a eu un changement en npm, tel que --save
est devenu l'option par défaut, vous n'avez donc pas besoin d'utiliser --save
pour mettre à jour les dépendances.
npm install <package_name> --no_save
installe le package mais ne met pas à jour les dépendances répertoriées dans votre package.json.
npm install <package_name> ---save-dev
met à jour le devDependencies
de votre paquet. Celles-ci ne sont utilisées que pour les tests et le développement locaux.
Vous pouvez en lire plus à https://docs.npmjs.com/getting-started/using-a-package.json .
npm install prend 3 indicateurs exclusifs facultatifs qui enregistrent ou mettent à jour la version du paquet dans votre paquet principal.json:
-S, --save: Le paquet apparaîtra dans vos dépendances.
-D, --save-dev: Le paquet apparaîtra dans vos devDependencies.
-O, --save-optional: Le paquet apparaîtra dans vos dépendances optionnelles.
Lorsque vous utilisez l'une des options ci-dessus pour enregistrer des dépendances dans votre package.json, un indicateur supplémentaire, facultatif, est ajouté:
-E, --save-exact: les dépendances enregistrées seront configurées avec une version exacte plutôt que d'utiliser l'opérateur semver par défaut de npm. De plus, si vous avez un fichier npm-shrinkwrap.json, il sera également mis à jour.
<scope>
est facultatif. Le package sera téléchargé à partir du registre associé à l'étendue spécifiée. Si aucun registre n'est associé à l'étendue donnée, le registre par défaut est utilisé. Voir npm-scope.
Remarque: si vous n'incluez pas le symbole @ dans votre nom d'étendue, npm l'interprétera comme un référentiel GitHub, voir ci-dessous. Les noms d'étendues doivent également être suivis d'une barre oblique.
Exemples:
npm installer sax --save npm installer githubname/reponame npm installer @ myorg/privatepackage npm installer-tap-tap --save-dev npm installer dtrace-fournisseur --save-optional npm installer readable-stream --save --save-exact
Remarque: S'il existe un fichier ou un dossier nommé <name>
dans le répertoire de travail actuel, il essaiera de l'installer et n'essaiera d'extraire le paquet que par son nom s'il n'est pas valide.
(de la documentation officielle) https://docs.npmjs.com/cli/install
Le --save
Le drapeau ne sert plus à rien.
Auparavant, comme indiqué dans les autres réponses, le --save
_ flag mettrait à jour les dépendances dans le projet package.json
fichier, mais npm install
inclut maintenant cette fonctionnalité par défaut.
À ce stade, si vous voulez empêcher npm install
de sauver les dépendances, vous devez utiliser le --no-save
drapeau.
Merci à Coruscate5 d’avoir mentionné cela dans leur commentaire .
Plus d'informations dans le documentation de npm-install :
npm install enregistre les packages spécifiés dans les dépendances par défaut. En outre, vous pouvez contrôler où et comment ils sont enregistrés avec des indicateurs supplémentaires:
-P, --save-prod: Le paquet apparaîtra dans vos dépendances. C'est la valeur par défaut sauf si -D ou -O sont présents.
-D, --save-dev: Le paquet apparaîtra dans vos devDependencies.
-O, --save-optional: Le paquet apparaîtra dans vos dépendances optionnelles.
--no-save: Empêche l'enregistrement dans les dépendances.
Lorsque vous utilisez l'une des options ci-dessus pour enregistrer des dépendances dans votre package.json, il existe deux indicateurs supplémentaires facultatifs:
-E, --save-exact: les dépendances enregistrées seront configurées avec une version exacte au lieu d’utiliser l’opérateur par défaut de npm.
-B, --save-bundle: les dépendances enregistrées seront également ajoutées à votre liste bundleDependencies.