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

Should package-lock.json also be published?

npm 5 引入了 package-lock.json,其中的文档是 here.

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

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

无法发布。

来自 npm 文档:

One key detail about package-lock.json is that it cannot be published, and it will be ignored if found in any place other than the toplevel package

See package-lock.json documentation on docs.npmjs.com.

但是,您应该将 package-lock.json 提交给 git as per the documentation

This file is intended to be committed into source repositories

因此 npm 提供的常见消息:

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

编辑:更详细的解释