【问题标题】:Yarn - How do I update each dependency in package.json to the latest version?Yarn - 如何将 package.json 中的每个依赖项更新到最新版本?
【发布时间】:2020-10-20 08:31:12
【问题描述】:

我有一个带有已弃用依赖项的反应应用程序。为了使其正常工作,我必须将依赖项更新为较新(但稳定)的版本。

根据this stakoverflow 线程,要将 package.json 中的依赖项更新到最新版本,npm-check-updates 是 npm 的最佳选择。但是,我使用纱线进行包管理。纱线中是否有等效的 npm-check-updates 。因此,我使用单个包管理器来管理我的依赖项。

【问题讨论】:

    标签: node.js reactjs npm yarnpkg


    【解决方案1】:

    如果您想将包添加到您的 package.json 以进行开发协作

    yarn add yarn-upgrade-all -D
    
    yarn yarn-upgrade-all
    

    顺便说一下,包使用命令(重新安装所有包)

    yarn install package1 package2 packageN
    

    【讨论】:

      【解决方案2】:

      您可以通过以下方式将单个软件包升级到最新的主要版本:

      yarn upgrade <package-name> --latest
      

      【讨论】:

      • 你要他一一列出他所有的包裹?
      • 有时您只想更新一个依赖项。要更新补丁版本(major.minor.patch),您可以使用例如yarn upgrade @1.1.x(使用你拥有的任何主要/次要版本)
      【解决方案3】:

      对我有用的是a comment by @Andrew Zolotarev,它使用

      npx yarn-upgrade-all
      

      【讨论】:

      • 现在我使用npx npm-upgrade。我认为它对我来说更好用。
      【解决方案4】:

      yarn upgrade-interactive --latest

      但你必须先拥有一个yarn.lock 文件才能执行此操作。如果您使用npm,则必须先删除package-lock.json。然后运行yarn 来创建结构。之后你可以做upgrade-interactive。没有它,yarn 显示升级,但package.json 没有变化和影响。

      【讨论】:

      • 清除您的 node_modules 文件夹和 yarn.lockyarn-error.log 文件。然后尝试yarn --ignore-engines。安装成功后,试试yarn upgrade-interactive --latest.
      • 如果所有这些都没有成功,那么尝试yarn outdated并直接在package.json中手动更新软件包。在做之前你需要有放松的心态:)
      • 喜欢yarn outdated,因为如果有很长的部门列表,这样做似乎更合乎逻辑:)
      【解决方案5】:

      你可以试试这个 npm 包yarn-upgrade-all。此软件包将删除 package.json 中的所有软件包并再次添加它,这会将其更新到最新版本。

      安装:

      npm install -g yarn-upgrade-all
      

      用法: 在您的项目目录中运行:

      yarn yarn-upgrade-all
      

      【讨论】:

      • 谢谢!这是一个很好的选择,只有一个警告。来自官方文档“不要在 Windows 上使用 yarn 安装它,因为有一个 bug github.com/yarnpkg/yarn/issues/2224
      • 这个包对package.json 中的所有包运行yarn remove &amp;&amp; yarn add 太慢了,但是可以!较短的版本:npx yarn-upgrade-all
      • yarn yarn-upgrade-all 对我不起作用,但 npx yarn-upgrade-all 起作用。谢谢@AndrewZolotarev
      • Running npx yarn-upgrade-all 将我的 "vue": "^3.0.5" 依赖项更改为 "vue": "^2.6.14",这是我没想到的。显然,这破坏了构建。
      • npx yarn-upgrade-all
      猜你喜欢
      • 2015-02-14
      • 2015-04-16
      • 2021-03-13
      • 1970-01-01
      • 2019-06-11
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多