Wenn Sie ausführen npm install --save somepackage
, wird normalerweise so etwas in package.json hinzugefügt:
"dependencies": {
"somepackage": "^2.1.0"
}
Da der Version ein Caret (^) vorangestellt ist, bedeutet dies, dass bei einer späteren Ausführung npm install
möglicherweise stattdessen Version 2.3.0 installiert wird. Dies kann aus ziemlich offensichtlichen Gründen unerwünscht sein. npm shrinkwrap
ist nützlich, löst das Problem aber nicht wirklich.
Ich habe also mehrere Fragen:
- Kann bei der Installation eines Pakets angegeben werden, dass es in package.json auf eine bestimmte Version festgelegt werden soll (kein Caret vor der Versionsnummer)?
- Gibt es eine Möglichkeit, beim Veröffentlichen eines Pakets auf npm zu verhindern, dass das Caret standardmäßig vor der Version eingefügt wird, wenn andere Entwickler Ihr Paket installieren?
--save-exact
es der Befehlszeile hinzufügen . ZB ,npm install --save --save-exact somepackage
.