【问题标题】:Should package-lock.json also be published?package-lock.json 也应该发布吗?
【发布时间】:2017-11-16 17:17:50
【问题描述】:

npm 5 引入了package-lock.json,其文档为here

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

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

【问题讨论】:

    标签: node.js npm gitignore npmignore package-lock.json


    【解决方案1】:

    无法发布。

    来自 npm 文档:

    关于 package-lock.json 的一个关键细节是它无法发布,如果在顶级包以外的任何地方发现它会被忽略

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

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

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

    因此 npm 呈现的常见消息:

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

    编辑:更详细的解释can be found here

    【讨论】:

    • 我还是一头雾水。该文档似乎说了自相矛盾的事情。一方面它说它“不能出版”。如果下一句说它在发布时被忽略,那将是有道理的。但是......相反,它说它会被忽略如果在顶级包以外的任何地方找到。所以这似乎是说,如果在顶级包中找到它......它被发布。好像有点矛盾。嗯是的。我很困惑。
    • @Kris 我认为“忽略”段落意味着所有 package-lock.jsons 都将被忽略,除了您当时安装的顶级包。因此,实际上,在安装期间忽略而不是在发布期间忽略。不过,只是猜测。
    猜你喜欢
    • 2017-11-17
    • 2018-07-27
    • 1970-01-01
    • 2021-03-21
    • 2017-12-16
    • 1970-01-01
    • 2019-02-16
    • 2020-01-16
    • 1970-01-01
    相关资源
    最近更新 更多