我在c:\ flutter有一个稳定的抖动通道SDK。在系统环境变量处将其设置为Flutter的默认路径。
当在IntelliJ中为我们的客户创建新的Flutter项目时,我正在使用此路径c:\ flutter。
我还从c:\ flutter_master下载了Flutter主频道,我需要将此flutter SDK(主目录)用于另一个项目。
如何在同一设备上针对不同项目正确地具有两个有效的flutter版本,而不必每次都使用系统环境变量?
答案 0 :(得分:2)
Flutter SDK。您需要:
mkdir ~/flutter_dev
cd ~/flutter_dev
git clone https://github.com/flutter/flutter.git .
dart.flutterSdkPath
设置:"settings": {
"dart.flutterSdkPath": "/Users/youruser/flutter_dev"
}
答案 1 :(得分:2)
如果您使用的是 Android Studio,您可以通过菜单 File => Setting => Languages & Frameworks => Flutter 为每个项目设置不同版本的 Flutter:
并且要从命令行为多个 flutter 版本运行 flutter/dart,您可以按照这篇文章https://medium.com/@sarbagyastha/using-two-or-more-different-versions-of-flutter-in-single-machine-484293c2a7ff
答案 2 :(得分:0)
根据Flutter回购协议上的this issue, iqbalmineraltown 的答案是:
您可能需要根据需要下载多个版本,因为每个Flutter SDK版本都与特定的Dart SDK紧密结合。
您为每个项目设置Flutter版本, iqbalmineraltown 突出显示了一种使用VS Code的方法:
如果您使用的是VSCode,则可以将多个版本的flutter SDK下载到不同的路径,然后使用Dart&Flutter Plugin在它们之间快速切换 您可以通过为每个工作区提供默认SDK路径来为每个项目设置默认SDK。因此,当您打开一个项目时,VSCode将使用您为该项目指定的版本。
答案 3 :(得分:0)
如果您使用的是 mac,您可以创建别名,这允许您通过终端使用多个版本的 sdk。就像您使用任何 flutter 命令一样,如果您想在 IDE 中使用这些不同版本的 SDK,您需要将路径添加到 IDE 的设置中。您可以在下面找到将路径添加到 vscode 的步骤。
这就是我在 M1 mac 上的做法,
我在位于 ~/Documents
的 $HOME/Documents
文件夹中安装了不同版本的 Flutter SDK
为了通过终端访问适当版本的 flutter,我们需要创建别名。将别名视为通过命令行访问 sdk 的快捷方式。
.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_devflutterm
指向 flutter_masterflutterb
指向 flutter_beta这意味着当您在终端中输入 flutterd
时,它将使用位于 ~/Documents/flutter_dev/bin/flutter
的 SDK,并分别用于其余别名。
(按 ctrl + x 回车保存退出)
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
这是我运行命令时的输出
sdk path
答案 4 :(得分:0)
您可以使用 FVM 来管理 Flutter https://fvm.app
答案 5 :(得分:0)