首先你需要下载所有你希望能够在本地切换并创建别名的flutter sdk,这允许你通过命令行或终端使用多个版本的sdk,就像你使用任何flutter命令一样, 如果您想在 IDE 中使用这些不同版本的 SDK,则需要将 SDK 路径添加到 IDE 的设置中。您可以在下面找到将路径添加到 vscode 的步骤。以下答案将帮助您设置不同版本的 SDK,无论您使用的是 Windows、Linux 还是 Mac。
在 Mac/Linux 上创建别名
这就是我在 M1 mac 上的做法,
我在位于$HOME/Documents 的Documents 文件夹中安装了不同版本的flutter SDK
为了通过终端访问到合适版本的flutter,我们需要创建别名。将别名视为通过命令行访问 SDK 的快捷方式。
- 要创建别名,您需要在 $HOME 目录中创建
.bash_aliases 文件
你可以通过终端运行
nano ~/.bash_aliases
将这些别名粘贴到文件中的适当路径。
alias flutterd='~/Documents/flutter_dev/bin/flutter'
alias flutterm='~/Documents/flutter_master/bin/flutter'
alias flutterb='~/Documents/flutter_beta/bin/flutter'
请注意,您可以随意命名别名。
我用过这个名字
-
flutterd 指向flutter_dev
-
flutterm 指向flutter_master
-
flutterb 指向flutter_beta
这意味着当您在终端中键入 flutterd 时,它将使用位于 ~/Documents/flutter_dev/bin/flutter 的 SDK 并分别用于其余别名。
(按 ctrl + x 回车保存退出)
- 最后,您需要将其添加到您的 shell 文件中
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
基本上就是rc文件
$HOME/.bashrc 如果你正在使用 bash
$HOME/.zshrc 文件,如果你使用的是 zsh
如果您不确定,那么在终端中输入 echo $SHELL 会告诉您您正在使用哪个 shell。
这是您在首次安装时添加 Flutter sdk 路径的同一个文件。如果该文件不存在,您可以创建它。
- 运行
source $HOME/.<rc file>刷新当前终端窗口。
现在您可以通过在终端 flutterm, flutterd 等中输入您的别名来进行验证,它将从相应的 sdk 响应。
您可以通过运行 <alias name> doctor -v 来验证这一点
例如验证 Flutterd 是否指向 dev run flutterd doctor -v
这是我运行命令时的输出
在 Windows 上创建别名
在 Windows 上,我将 Flutter SDK 存储在 C:/flutter_sdk
然后创建一个Alias文件夹,并创建每个flutter SDK对应的批处理文件,其中每个批处理文件都包含flutter SDK的路径
例如flutterd.bat 包含dev sdk 的路径
@echo off
C:\flutter_sdk\dev\bin\flutter %*
明智地命名您的批处理文件,因为您将在命令行中使用它们。例如,我有一个名为 flutterb.bat 的批处理文件指向 beta 通道,因此要访问 beta SDK,我将在命令行中使用 flutterb 而不是 flutter。
最后,我们需要将别名文件夹添加到环境变量中,以使其在整个窗口中都可以访问。
转到环境变量 => 用户变量 => 路径 => 编辑=> 新建
现在您可以通过打开命令提示符并输入 flutterb doctor 来验证一切是否正常,它应该会显示 SDK 指向 beta
向 VScode 添加多个 SDK 版本
现在要在 vscode 中访问相应版本的 SDK,您需要在设置中添加这些 SDK 路径。
- 在您的用户设置 (CMD+SHIFT+P) 中搜索
sdk path
- 在 Flutter SDK 路径下添加所有路径