如何使用 Homebrew 降级 Dart

How to downgrade Dart with Homebrew

我正在使用 Mac,我通过 运行

从 Dart 2.7.1 升级到 Dart 2.8
brew upgrade dart

documentation 中所述。

但是,2.8 版包含一些针对 Aqueduct 框架的重大更改,因此我想降级到 Dart 2.7.2。

我试过了

brew install dart@2.7.2

但是得到了

Error: No available formula with the name "dart@2.7.2"

我也试过了

brew search dart

但只得到了

dart-lang/dart/dart ✔
dart-lang/dart/dart-beta
dart-lang/dart/dart@1
dart-lang/dart/dart@2
dartsim

无法选择 select 较低的 2.x 版本。

如何降级?

  1. 运行 brew info dart 求公式link,例如
    发件人:https://github.com/dart-lang/homebrew-dart/blob/master/dart.rb

  2. 在浏览器中打开公式link,它将带您到主分支回购页面

  3. 使用浏览器返回回购页面并单击“历史”

    • 向下滚动直到看到您感兴趣的版本,例如 “已将稳定分支更新到修订版 2.7.2”
    • 单击“已将稳定分支更新到修订版 2.7.2”,然后从差异页面的顶部获取完整的提交 ID(哈希),例如 fed6de080aef54c4f1c1df732424df37cd3e5a3e
      (保存完整的提交 ID(哈希),您将在步骤 5 中需要它)
  4. 运行 brew uninstall dart

  5. 使用
    安装旧版本的 Dart brew install https://raw.githubusercontent.com/dart-lang/homebrew-dart/fed6de080aef54c4f1c1df732424df37cd3e5a3e/dart.rb

    • 在上面的命令中,url是通过使用您在第2步中保存的url并替换单词master获得的使用在步骤 3.
    • 中获得的提交 ID(哈希)fed6de080aef54c4f1c1df732424df37cd3e5a3e

***注意:*** 如果你用 `brew pin dart` 固定它,你可以保留旧的 Dart 版本(用于 `brew upgrade`)

查看软件包 fvm 和 dswitch。

两者都允许您在 dart 版本之间切换。

flutter dart sdk 的 Fvm Dswitch for the straight dart sdk.