如何使用 Homebrew 降级 Dart

Sur*_*gch 3 homebrew dart aqueduct

我在 Mac 上,我通过运行从 Dart 2.7.1 升级到 Dart 2.8

brew upgrade dart
Run Code Online (Sandbox Code Playgroud)

正如它在文档中所描述的那样。

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

我试过

brew install dart@2.7.2
Run Code Online (Sandbox Code Playgroud)

但得到

错误:没有名称为“dart@2.7.2”的可用公式

我也试过

brew search dart
Run Code Online (Sandbox Code Playgroud)

但只得到

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

没有选择较低 2.x 版本的选项。

如何降级?

Ale*_*ban 6

  1. 运行brew info dart并找到公式链接,例如
    来自:https : //github.com/dart-lang/homebrew-dart/blob/master/dart.rb

  2. 在浏览器中打开公式链接,它将带您到 master 分支 repo 页面

  3. 使用浏览器返回 repo 页面,然后单击“历史记录”

    • 向下滚动,直到看到您感兴趣的版本,例如“将稳定分支更新为修订版 2.7.2”
    • 单击“ Updated stable branch to revision 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

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

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