如何降级 Flutter SDK (Dart 1.x)

How to downgrade Flutter SDK (Dart 1.x)

我升级了我的 Flutter SDK,现在我的项目坏了。我需要基本上恢复到使用 Dart 1.x.

的 Flutter SDK

我在 pubspec.yaml、

中尝试了以下方法
environment:
  sdk: ">=1.19.0 <2.0.0"
  flutter: "^0.1.2"

dependencies:
  flutter:
    sdk: flutter

但现在项目根本无法构建。

Running "flutter packages get" in binformed...
Package binformed requires Flutter SDK version ^0.1.2 but the current SDK is 0.2.5-pre.38.
pub get failed (1)

是否需要卸载SDK并重新安装?

在Flutter安装目录下执行

git checkout v0.1.9

然后 运行

flutter doctor

您可以查看 Flutter GitHub 存储库中可用的版本 https://github.com/flutter/flutter

有一个开放的功能请求可以使这更容易https://github.com/flutter/flutter/issues/14230

运行以下命令查看可用版本列表。

flutter version 

然后通过运行

选择您要切换到的版本
flutter version v1.2.1

撤消并恢复稳定

flutter channel stable
flutter upgrade

Flutter 使用 git 进行版本控制。更改 Flutter 版本就像更改 git 分支一样简单。

有两种不同的方式:

  • flutter channel <branch>(示例:flutter channel stable

这个命令用于在分支之间切换——通常是stable/dev/beta/master。 我们还可以从 git.

中放置一个特定的提交 ID
  • flutter downgrade <version>(示例:flutter downgrade v1.2.1

此命令将使用特定的版本号。 您可以使用 flutter downgradehere

获得可用版本号的列表

在此之后,运行 任何 Flutter 命令(例如 flutter doctor),Flutter 将处理 downloading/compiling 此版本 运行 所需的一切。

不要使用 flutter version vX.X.X,而是使用 flutter downgrade

Warning: "flutter version" will leave the SDK in a detached HEAD state. If you are using the command to return to a previously installed SDK version consider using the "flutter downgrade" command instead.

所以,你应该使用

flutter downgrade 

编辑:

如果没有安装以前的版本,上述命令将失败。所以,如果你想切换到特定版本的 Flutter,可以使用 flutter version 命令:

flutter downgrade v1.17.0

您可以找到版本列表 here

  1. 下载 Flutter SDK 版本:flutter_windows_1.17.0-稳定版:https://flutter.dev/docs/development/tools/sdk/releases
  2. 将已有的Flutter文件夹替换成这个版本
  3. 确保你的环境变量和 Flutter + Dart 设置 IDE 仍然与此相关 folder/path

要解决这些错误:

$ flutter version
Could not find a command named "version".
$ flutter downgrade v1.22.6
There is no previously recorded version for channel "stable".

删除旧的 flutter 文件夹

下载 archive 并解压而不是删除 flutter 文件夹

cd "$(dirname $(which flutter))" 然后

git checkout .(可选)

git pull origin(可选)

git checkout v1.22.6

flutter doctor

p.s。 别忘了重启你的android工作室

要降级,有许多已弃用的命令。

实际工作的两个,我测试过的是:

flutter downgrade v[flutter build version]

例如:

flutter downgrade v1.22.6

另一个:转到您的 flutter sdk 文件夹,即名为“flutter”的文件夹,然后在其中打开一个新终端。然后输入:

git checkout [flutter build version]

例如:

git checkout 1.22.3

然后执行 flutter doctor 并确认您已正确切换。

您可以查看以下版本:https://flutter.dev/docs/development/tools/sdk/releases?tab=macos

详情请见:https://flutter.dev/docs/release/breaking-changes


如果您恰好想切换频道,只需执行以下操作:

flutter channel [channel]

例如(选择masterstabledevbeta之一):

flutter channel stable

如果你想再次升级:

flutter upgrade

转到终端并输入特定版本号,例如 -

flutter downgrade v1.22.3

然后按回车键。 从网上获取文件后,它会询问,

Downgrade flutter to version 1.22.5
? [y|n]:

键入y,它将降级到特定版本。

重新启动 IDE 以使设置生效。

只需flutter降级就够了,它会降级到之前的稳定版本

为了正确降级到任何版本。

  1. 更改为开发模式

    flutter 频道开发

  2. flutter downgrade v(输入你的版本号)例如下面。

    flutter降级v2.0.6

这对我有用!

我发现从命令行切换 (upgrade/downgrade) 到 特定的 Flutter 版本 有点困难。这里的一些答案已经过时了。

我更喜欢从 here 手动下载不同版本的 SDK。

  • 假设我下载了 2.0.12.0.52.0.6
  • 2.0.1 是我当前的 Flutter SDK 版本。

要切换到2.0.5,请删除当前的Flutter SDK(带有蓝色图标的那个)并解压缩flutter_macos_2.0.5-stable.zip。然后 运行 flutter clean 然后 flutter doctor 确认一切正常。

这样做的好处是每次切换时不必更改任何路径或重新下载整个 SDK。

在 macOS 上,如果您收到无法 运行 dartgentool 的系统警告,请按 System Preferences > Security & Privacy[= 下的 Allow anyway 24=]

目前,管理 flutter 版本最简单的方法是通过 fvm。

  1. 安装 fvm
brew tap leoafarias/fvm
brew install fvm
  1. 安装您的版本
fvm install x.x.x
  1. 全局安装您的版本(如果需要)
fvm global x.x.x

这里是 link 应用指南

https://fvm.app/docs/getting_started/installation

此解决方案在 2021 年有效

转到您的 flutter SDK 文件夹,这是您名为“flutter”的文件夹,然后在其中打开一个新终端。然后输入:

git结账(你的flutter版本) 然后, 运行扑博士 在此之后检查您的版本。

如果您使用的是 brew (macos)

您可以创建 rb 文件并使用 brew 安装或降级 flutter

创建名称为 flutter.rb

的文件
cask "flutter" do
  version "2.2.0"

  url "https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_#{version}-st$
      verified: "storage.googleapis.com/flutter_infra_release/"
  name "Flutter SDK"
  desc "UI toolkit for building applications for mobile, web and desktop"
  homepage "https://flutter.dev/"

  livecheck do
    url "https://storage.googleapis.com/flutter_infra_release/releases/releases_macos.json"
    regex(%r{/flutter[._-]macos[._-]v?(\d+(?:\.\d+)+)[._-]stable\.zip}i)
  end

  auto_updates true

  binary "flutter/bin/dart"
  binary "flutter/bin/flutter"
end

然后使用brew install ./flutter.rb安装flutter或者降级flutter版本

要降级你的 flutter 版本:

运行 flutter downgrade v2.5.3 或您想要的 here.

中的任何 flutter 版本

如果它导致任何错误,如

There is no previously recorded version for channel "stable".

或者没有以前的版本,

然后,确保使用以下命令切换到正确的分支 {stablemasterdevbeta}:

flutter channel master 

最后,运行 flutter doctor 检查是否一切顺利。

更改 flutter 版本的最简单的方法是:

  1. 导航到此 link 并下载您想要的 flutter 版本。
  2. 提取文件并用它们替换旧的 flutter 目录。
  3. 如果您已经在使用 flutter,则无需重新定义 PATH,否则,请确保环境变量仍与此关联 folder/path。
  4. 运行 flutter --versionflutter doctor 检查一切是否正常。

只需使用flutter downgrade v2.8.0 然后 flutter 请求确认

Downgrade flutter to version 1.22.5
? [y|n]:

输入 y 表示是以确认更改

我找到了迁移到任何特定版本的 Flutter 的两步简单解决方案。

  1. 在终端中导航到 Flutter repo 路径(是的,我们从官方网站下载并解压的那个)

  2. 运行 以下命令:git checkout 2.10.5 && flutter precache

注意:验证并更改 Flutter 版本 here

  • 打开终端并导航到 Flutter 文件夹

  • 运行 以下命令与您要切换到的 Flutter 版本:

git checkout 2.10.5 && flutter precache

参考:https://github.com/flutter/flutter/issues/64238#issuecomment-678605514