package-lock.json也应该发布吗?

wyb*_*ybe 20 gitignore node.js npm npmignore package-lock.json

npm 5介绍了package-lock.json,其中的文档就在这里.

它声明该文件旨在包含在版本控制中,因此任何克隆您的包并安装它的人都将具有相同的依赖版本.换句话说,您不应将其添加到.gitignore文件中.

它没有说明的是该文件是否包含在已发布的包中.这个问题可以改为:应该将package-lock.json包含在.npmignore中吗?

Pet*_*eid 20

它无法发表.

从npm文档:

关于package-lock.json的一个关键细节是它无法发布,如果在toplevel包之外的任何地方找到它将被忽略

请参阅docs.npmjs.com上的package-lock.json文档.

但是,你应该根据文档提交你package-lock.json的git .

此文件旨在提交到源存储库中

因此npm提出的常见信息:

created a lockfile as package-lock.json. You should commit this file.
Run Code Online (Sandbox Code Playgroud)

编辑:可以在这里找到更详细的解释.

  • 我还是很困惑.这份文件似乎说是矛盾的事情.一方面,它说'无法发表'.如果下一句话会说它在发布时被忽略,那将是有意义的.但是......相反,如果在顶级包装以外的任何地方找到它,它会被忽略**.所以这似乎说,如果它在顶级包中找到......它将**发布.似乎有点矛盾.是的.我糊涂了. (12认同)
  • @Kris我认为“忽略”段落意味着所有包-lock.jsons将被忽略,但您当时正在安装的顶级包除外。因此,有效地,在安装过程中忽略而不是在发布过程中忽略。不过,只是一个猜测。 (2认同)