【问题标题】:I want to use yarn like I use NPM, without the lock.file我想像使用 NPM 一样使用纱线,没有 lock.file
【发布时间】:2018-01-06 01:09:20
【问题描述】:

我们已经从 npm3 迁移到使用 yarn,因为我们想要更快的安装时间。

在我们的项目中,我们有

  1. 我们的主要应用 - my-app
  2. 我们在 MainApp 中用作依赖项的模块 - my-module。

my-app 的 package.json:

dependencies: { // ... "my-module" : "~1.4.0" // ... }

我们的开发方法是这样工作的: 更新补丁版本以进行非破坏性更改。 更新次要版本以进行重大更改。

这就是我们使用波浪号 (~) 的原因,因此我们不必每次更改都更新 my-app 的 package.json

现在我们已经转移到了 yarn,我们有了 lock.file。 我知道我们每次想要更新它时都需要运行yarn upgrade my-module

我的问题是:

  1. 我可以避免这个过程吗?也许,不使用锁定文件?或者可以告诉 yarn,只要有新补丁可用,我就可以更新这个特定模块?
  2. 当我运行 yarn upgrade my-module 时,它会更新我的 package.json,为什么??
  3. 它不仅更新了我的 package.json,而且出于某种未知原因将我的记录更改为插入符号 (^),这是为什么呢?

dependencies: { // ... "my-module" : "^1.4.47" // ... }

【问题讨论】:

    标签: node.js npm package.json yarnpkg


    【解决方案1】:
    1. 是的。只是不要使用yarn.lock 文件,即不要提交它。
    2. 和 3。因为这就是 yarn upgrade 所做的。

    【讨论】:

    • 关于1,还是——开发者在本地环境下会有这个yarn.lock文件,效果是一样的吧?
    • 没有。 yarn 将创建 yarn.lock 如果它不存在,但只在它已经存在时使用它(即如果你已经提交了它)
    • 附带说明,npm 版本 5 具有类似的功能,但使用了 package-lock.json。现在真的没有必要使用yarn,因为 npm 很快。
    • 我们使用的是节点 6.11.1,我看不出 npm3 和 npm5 之间有什么不同。安装@angular/cli:npm5:56 秒纱线:15.5 秒
    • 很公平。似乎 npm 仍有一些需要改进的地方!
    猜你喜欢
    • 1970-01-01
    • 2017-05-08
    • 2020-07-26
    • 2020-12-03
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    相关资源
    最近更新 更多