javascript - Lockfile解释,每一行到底是什么意思? yarn 锁

标签 javascript npm yarnpkg package-managers lockfile

我想知道每一行到底是什么意思? 由于我的项目中存在依赖关系,我在使用软件包时遇到了一些问题。

首先,将 nuxt 从 1x 更新到 2x 后,所有测试都开始失败。 经过几个小时的网络挖掘后,我发现我有 2 个版本的

chokidar 依赖项

它有不同的 watch 包版本,所以我用它锁定一个包

我的包文件中的

解决方案

这是 watch 包^2.0.0-beta.7 所有测试开始工作!

但不幸的是开发者模式停止支持热重载... 并开始崩溃。

所以我尝试将 chokidar 锁定到版本“^3.0.2”,现在一切都很好!

但我开始想知道这个文件中的所有内容是如何工作的 因为锁定 chokidar 后所有问题都消失了!

chokidar dependencies 那条线到底是什么意思?使用哪种 chokidar?两个都?第一的?第二? 或者甚至在这里

chalk dependencies

有些取决于。 depenc,有7个版本!

最佳答案

据我了解(如果我错了,请纠正我),第一行列出了所有依赖项,因此您有例如7 个依赖于特定版本 chalk 的软件包。 第二行列出了 Yarn “选择”要安装的版本,它满足上述条件。示例:Chokidar 为 3.1.1,因为标准指定一个软件包需要它大于 2.0.2,而一个软件包需要它大于 3.0.2。由于 3.1.1 满足两者,因此使用它。如果标准之一是“恰好是 3.0.2”,则行将被拆分,并且两个版本都将包含在锁定文件中。

第三行是包的 URL,带有哈希值。 第四个也是一个哈希值,用于在运行 yarn install 时下载包时验证该包。

如果 Yarn 找不到满足所有依赖项的版本,它会将条目分成组,并获取一个与每个组的条件相匹配的版本。

至于你的第二个问题:它只使用 Chokidar 的一个版本:3.1.1

有关一般说明,请参阅 https://yarnpkg.com/lang/en/docs/yarn-lock/

关于javascript - Lockfile解释,每一行到底是什么意思? yarn 锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58123979/

相关文章:

javascript - 手动创建 JavaScript 事件对象

reactjs - 如何仅使用docker而不是host直接创建react-app?

node.js - 是否可以在 Windows 上使用 Cygwin 来开发带有 Yarn 的 Node.js 应用程序?

javascript - 收到错误 : Unknown argument "id" on field "user" of type "Query" [GraphQL, 继电器,React]

reactjs - 无法启动reactJS服务器|错误: "rbenv: yarn: command not found"

javascript - 使用 javascript 获取 PDF 的设备 ID

javascript - 将 Controller 动态添加到 app.js Controller 中 : [] - Ext-JS 4

Javascript:无法从私有(private)方法访问公共(public) Prop

node.js - 仅需要一个模块(如果已安装)

node.js - 使用 --save 进行 npm install 不会保存在 package.json 中