package-lock.json
est écrite lorsqu'une valeur numérique dans une propriété telle que la propriété "version", ou une propriété de dépendance est modifiée dans le fichier package.json
.
Si ces valeurs numériques dans package.json
y package-lock.json
match, package-lock.json
est lu.
Si ces valeurs numériques dans package.json
y package-lock.json
ne correspondent pas, package-lock.json
est écrit avec ces nouvelles valeurs, et les nouveaux modificateurs tels que l'insigne et le tilde s'ils sont présents. Mais c'est le numéral qui déclenche le changement en package-lock.json
.
Pour voir ce que je veux dire, faites ce qui suit. En utilisant package.json
sans package-lock.json
, courir npm install
avec :
{
"name": "test",
"version": "1.0.0",
...
"devDependencies": {
"sinon": "7.2.2"
}
}
package-lock.json
auront désormais :
"sinon": {
"version": "7.2.2",
Maintenant, copiez/collez les deux fichiers dans un nouveau répertoire. Changez package.json
à (en ajoutant seulement le signe d'insertion) :
{
"name": "test",
"version": "1.0.0",
...
"devDependencies": {
"sinon": "^7.2.2"
}
}
exécuter npm install
. S'il n'y avait pas package-lock.json
sinon@7.3.0 sera installé. npm install
es la lecture de package-lock.json
et en installant 7.2.2.
Maintenant, changez package.json
à :
{
"name": "test",
"version": "1.0.0",
...
"devDependencies": {
"sinon": "^7.3.0"
}
}
exécuter npm install
. package-lock.json
a été écrit à et s'affiche maintenant :
"sinon": {
"version": "^7.3.0",
1 votes
Package-lock. json pour garder la trace des arbres de dépendances exacts à un moment donné. Cela garantira que tous les clients qui téléchargent votre projet et tentent d'installer des dépendances obtiendront exactement le même arbre de dépendances.