如何在同一设备上为不同项目使用两种版本的Flutter?

时间:2019-04-21 14:12:58

标签: dart flutter sdk

我在c:\ flutter有一个稳定的抖动通道SDK。在系统环境变量处将其设置为Flutter的默认路径。

当在IntelliJ中为我们的客户创建新的Flutter项目时,我正在使用此路径c:\ flutter。

我还从c:\ flutter_master下载了Flutter主频道,我需要将此flutter SDK(主目录)用于另一个项目。

如何在同一设备上针对不同项目正确地具有两个有效的flutter版本,而不必每次都使用系统环境变量?

6 个答案:

答案 0 :(得分:2)

如果使用VSCode,则可以为每个工作空间指定

Flutter SDK。您需要:

  1. 将Flutter存储库克隆到新文件夹:
mkdir ~/flutter_dev
cd ~/flutter_dev
git clone https://github.com/flutter/flutter.git .
  1. 在JSON中打开您的workspace settings并更新dart.flutterSdkPath设置:
"settings": {
  "dart.flutterSdkPath": "/Users/youruser/flutter_dev"
}
  1. 重新启动VSCode,一切顺利。

Dart Code - Quickly Switching Between SDK Versions中查看更多信息

答案 1 :(得分:2)

如果您使用的是 Android Studio,您可以通过菜单 File => Setting => Languages & Frameworks => Flutter 为每个项目设置不同版本的 Flutter: enter image description here

并且要从命令行为多个 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

enter image description here

为了通过终端访问适当版本的 flutter,我们需要创建别名。将别名视为通过命令行访问 sdk 的快捷方式。

  1. 要创建别名,您需要在 $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 回车保存退出)

  1. 最后,您需要将其添加到您的 shell 文件中
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

基本上就是rc文件

$HOME/.bashrc 如果您使用的是 bash

$HOME/.zshrc 文件,如果您使用的是 zsh

<块引用>

如果您不确定,那么在终端中输入 echo $SHELL 会告诉您您使用的是哪个 shell。 这是您第一次安装 flutter sdk 路径时添加的文件。如果文件不存在,您可以创建它。

  1. 运行 source $HOME/.<rc file> 以刷新当前终端窗口。

现在您可以通过在终端 flutterm, flutterd 等中输入您的别名进行验证,它会从相应的 sdk 中响应。

您可以通过运行 <alias name> doctor -v

来验证这一点

例如验证 flutterd 是否指向 dev run flutterd doctor -v

这是我运行命令时的输出

enter image description here

  1. 现在要在 vscode 中访问相应版本的 SDK,您需要在设置中添加这些 sdk 路径。
  • 在您的用户设置 (CMD+SHIFT+P) 中搜索 sdk path
  • 在 Flutter SDK 路径下添加所有路径

enter image description here

  • 现在当你打开一个flutter项目时,你可以通过点击底部的flutter版本来选择你想要的版本 enter image description here

  • 它会提示您选择要使用的 sdk

enter image description here

答案 4 :(得分:0)

您可以使用 FVM 来管理 Flutter https://fvm.app

答案 5 :(得分:0)

您可以简单地重命名文件夹,而无需每次都玩系统环境变量。

  1. 假设您在 flutter 文件夹下下载了 Flutter 2.0.5 & 在 flutter_2.2.2 文件夹下下载了 2.2.2,并将 flutter 添加到环境路径为 C:\src\flutter。
  2. 每当您想要 2.2.2 版本时,将 flutter_2.2.2 重命名为 flutter 并将 flutter 重命名为 flutter_2.0.5。 enter image description here
相关问题