yarn.lock文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yarn.lock文件相关的知识,希望对你有一定的参考价值。
参考技术A 为了在多台机器之间获得一致的安装结果,Yarn 可能会需要比 package.json 文件中配置的依赖项更多的信息。它需要准确存储每一个依赖项的安装版本。因此在 Yarn 项目的根目录我们需要一个 yarn.lock 文件,这个 yarn.lock 文件是自动生成的。当我们执行 yarn 命令或者添加依赖包命令后,Yarn 都会在项目根目录下自动生成一个 yarn.lock 文件。在使用 Yarn 安装、升级、删除依赖项目时,会自动更新到 yarn.lock 文件中。一般我们不会去手动编辑这个文件,因为很容易破坏这个文件。
例如我们安装了一些依赖包,那么 yarn.lock 文件内容类似所示格式:
可以明显看到 yarn.lock 文件中的信息比 package.json 文件中详细了很多。
在实际项目中, yarn.lock 文件也很有用处,我们可以将 yarn.lock 提交到版本库中,其他成员就可以通过 yarn install 获取所有依赖包,这个可以保证大家安装的依赖是完全一致的,避免产生 bug 。
为啥我的项目同时有 package-lock.json 和 yarn.lock 文件?
【中文标题】为啥我的项目同时有 package-lock.json 和 yarn.lock 文件?【英文标题】:Why does my project have both a package-lock.json and yarn.lock file?为什么我的项目同时有 package-lock.json 和 yarn.lock 文件? 【发布时间】:2021-06-10 22:14:25 【问题描述】:我正在做一个 React 项目。
我只在项目中使用了npm
。我不确定 yarn.lock 文件最初是如何生成的。因为我没有使用yarn
,所以删除yarn.lock
可以吗?
当我运行npm install <package>
安装包时,yarn.lock
更新但package-lock.json
保持不变,这是为什么呢?
我需要package-lock.json
和yarn.lock
文件吗?
【问题讨论】:
您是否曾经将npm
别名为 yarn 之类的?是否有多人参与这个项目?
我是唯一一个从事这个项目的人。我不知道如何给npm
起别名,所以我假设不是。
当你在终端上写 $ npm 你看到 Usage: npm Usage: npm <command>
,所以没有别名。谢谢
【参考方案1】:
通常,当你使用 npm 时,你会看到一个 package.json
和一个 package-lock.json
文件。
当你使用 yarn 时,你会看到一个package.json
和一个yarn.lock
文件。
我建议先将你的功能项目push到git,然后将项目克隆到具有相同内容的新存储库并做一些测试:
-
删除
node_modules
、yarn.lock
和package-lock.json
npm install
你不应该再看到yarn.lock
了。
【讨论】:
未创建yarn.lock
文件。我现在只有一个package-lock.json
,在我的开发环境中一切似乎都运行良好。谢谢以上是关于yarn.lock文件的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的项目同时有 package-lock.json 和 yarn.lock 文件?
Yarn:将 JavaScript 依赖项重新部署到生产服务器的过程(使用 `yarn.lock` 文件)
我应该提交 yarn.lock 和 package-lock.json 文件吗?