2017-06-14 3 views
9

npm 5 introduit package-lock.json, dont la documentation est here.Est-ce que package-lock.json doit aussi être publié?

Il indique que le fichier est destiné à être inclus dans le contrôle de version, de sorte que votre paquet de clonage tout le monde et l'installer aura les mêmes versions de dépendance. En d'autres termes, vous ne devez pas l'ajouter à votre fichier .gitignore.

Ce qu'il ne dit pas est si oui ou non le fichier est destiné à être inclus dans un package publié. Cette question pourrait être reformulée comme; est-ce que package-lock.json devrait être inclus dans .npmignore?

Répondre

10

Il ne peut pas être publié.

De la documentation NPM:

Un détail clés sur paquet-lock.json est qu'il ne peut pas être publié, et il sera ignoré si trouvé dans un endroit autre que le paquet de premier niveau

See package-lock.json documentation on docs.npmjs.com. Toutefois, vous devriez valider votre package-lock.json pour qu'il soit as per the documentation.

Ce fichier est destiné à être engagé dans des dépôts sources

d'où le message commun présenté par NPM:

created a lockfile as package-lock.json. You should commit this file. 

EDIT: Une explication plus détaillée can be found here.

+2

Je suis encore confus. Cette documentation semble dire des choses contradictoires. D'une part, il dit qu'il ne peut pas être publié. Cela aurait du sens si la phrase suivante disait qu'elle est complètement ignorée lors de la publication. Mais ... à la place, il dit qu'il sera ignoré ** s'il se trouve dans un endroit autre que le paquet de niveau supérieur **. Donc, cela semble dire que si elle se trouve dans le paquet toplevel ... il ** sera ** publié. Cela semble un peu contradictoire. Donc voilà. Je suis confus. – Kris