package.json、package-lock.json 和 yarn.lock 文件的区别?

Posted

技术标签:

【中文标题】package.json、package-lock.json 和 yarn.lock 文件的区别?【英文标题】:Difference between package.json, package-lock.json and yarn.lock files? 【发布时间】:2018-12-14 15:44:18 【问题描述】:

我已从以下链接了解详细信息,但何时使用哪个文件仍是个问题? https://docs.npmjs.com/files/package-lock.json

【问题讨论】:

【参考方案1】:

package.json

包含项目的相关元数据,包括依赖项、帮助脚本和其他一般元数据。

运行 npm install --save <package>yarn add <package> 会将依赖项添加到此文件。

在列出的三个文件中,这是您唯一需要与之交互的文件。

package-lock.json 和 yarn.lock

是一个自动生成的文件,它描述了您的应用程序依赖项的确切状态,最后一次添加或修改了包。

更具体地说,它保证了用户之间的软件包安装顺序 - 因此建议使用 git 提交。

yarn.lock 是在运行yarn 特定命令时生成的。

package-lock.json 在运行npm 特定命令时生成。

【讨论】:

以上是关于package.json、package-lock.json 和 yarn.lock 文件的区别?的主要内容,如果未能解决你的问题,请参考以下文章

package.json和package-lock.json的区别

相当于 `pip` 的 `package.json' 和 `package-lock.json`

package-lock.json 有啥用?

package.json与package-lock.json的区别

为啥 package-lock.json 列出的依赖项与 package.json 不同?

NPM5,package-lock.json 和 package.json 有啥区别?