Lorsque vous exécutez npm install --save somepackage
, cela ajoute généralement quelque chose comme ceci dans package.json:
"dependencies": { "somepackage": "^2.1.0" }
Comme la version est précédée d’un caret (^), cela signifie que si vous exécutez npm install
ultérieurement, la version 2.3.0 pourra être installée à la place. Cela peut être indésirable pour des raisons assez évidentes. npm shrinkwrap
est utile, mais ne résout pas vraiment le problème.
Donc, j’ai plusieurs questions:
Pour spécifier par défaut une version exacte, vous pouvez changer votre configuration npm avec save-exact :
npm config set save-exact true
Vous pouvez également spécifier la version avec un tilde avec save-prefix
Et, non, vous ne pouvez pas forcer l’utilisateur à mettre à jour une version mineure ou une version de correctif, NPM utilise le mode semver et c’est le mode de publication recommandé.
Vous pouvez modifier le comportement par défaut en utilisant l’option –save-exact.
// npm npm install --save --save-exact react // yarn yarn add --exact react
J’ai créé un blog à ce sujet si quelqu’un le recherche à l’avenir.
https://www.dalejefferson.com/blog/how-to-save-exact-npm-package-versions/
Courir:
npm install --save --save-exact my-module@my-specific-version
Ajouter une réponse pour rendre ce conseil plus facile à voir.