当前位置: 首页 > 知识库问答 >
问题:

如何在同一设备上为不同的项目使用两个版本的颤振?

欧阳安阳
2023-03-14

我有一个稳定的颤振通道SDK,位于c:\flutter。它在系统环境变量中设置为Flutter的默认路径。

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

我还在c:\flutter_master下载了颤振主频道,我需要将此颤动SDK(主)用于另一个项目。

对于不同的项目,我如何才能在同一设备上正确拥有两个工作颤振版本,而无需每次都使用系统环境变量?

共有3个答案

纪勇军
2023-03-14

根据Flutter回购中的这个问题,iqbalmineraltown有答案:

您可能希望根据需要下载多个版本,因为每个Flutter SDK版本都与特定的Dart SDK紧密耦合。

您为每个项目设置Flutter版本,如果您使用VS Code,iqbalmineraltown会突出显示一种方式:

如果您使用的是VSCode,您可以将多个版本的flutter SDK下载到不同的路径中,并使用Dart在它们之间快速切换

方祺
2023-03-14

如果您使用VSCode,可以为每个工作区指定Flutter SDK。您需要:

  1. 将flutter存储库克隆到新文件夹:
mkdir ~/flutter_dev
cd ~/flutter_dev
git clone https://github.com/flutter/flutter.git .
{
  "dart.flutterSdkPath": "/Users/youruser/flutter_dev"
}

在Dart Code-快速切换SDK版本中查看更多信息

严言
2023-03-14

首先,你需要下载所有你想在本地切换的flutter SDKs,并为其创建别名。这允许您通过命令行或终端使用SDK的多个版本,就像您使用任何flutter命令一样,如果您想在IDE中使用SDK的这些不同版本,您需要将SDK路径添加到IDE的设置中。下面是添加vscode路径的步骤。无论您使用的是Windows、Linux还是mac,下面的答案都将帮助您设置不同版本的SDK。

这就是我在M1 mac上所做的,

我在位于< code>$HOME/Documents的< code>Documents文件夹中下载了不同版本的flutter SDKs

为了通过终端访问适当版本的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'

请注意,您可以根据需要命名别名。

我用过这个名字

  • fltterd指向fltter_dev
  • flutterm指向flutter_master
  • fltterb指向fltter_beta

这意味着当您在终端中键入flutterd时,它将使用位于~/Documents/flutter_dev/bin/flutter的SDK,并分别用于其余别名。

(点击ctrl x并输入保存并退出)

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

这基本上是rc文件

$HOME/.巴什,如果你正在使用巴什

$HOME/。zshrc文件(如果您使用zsh)

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

现在,您可以通过在终端< code>flutterm、flutterd等中键入您的别名进行验证,它将从相应的sdk中做出响应。

您可以通过运行< code >来验证这一点

e、 g来验证fltterd是否指向dev运行<code>fltterd doctor-v</code>

以下是我运行该命令时的输出

在窗口上,我将颤动 SDK 存储在 C:/flutter_sdk

然后创建一个别名文件夹并创建与每个颤振 SDK 对应的批处理文件,其中每个批处理文件都包含颤抖 SDK 的路径

例如flutterd.bat包含devsdk的路径

@echo off
C:\flutter_sdk\dev\bin\flutter %*

明智地命名批处理文件,因为您将从命令行使用它们。e、 g我有一个名为<code>fltterb的批处理文件。bat</code>指向beta频道,因此要访问beta SDK,我将在命令行中使用<code>flutterb</code>,而不是<code〕flutter。

最后,我们需要将别名文件夹添加到环境变量中,以便在整个窗口中都可以访问它。

转到环境变量=

现在,您可以通过打开命令提示符并输入fltterb-doctor来验证是否一切正常,它应该会显示指向beta的SDK

现在,要在vscode中访问适当版本的SDK,您需要在settings中添加这些SDK路径。

  • 在您的用户设置(CMD SHIFT P)中搜索 SDK 路径
  • 在“颤动 SDK 路径”下,添加所有路径

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

请注意,如果您要从vscode更改版本,您还应该从pubspec.yaml的右上角图标运行flutter pub get,以便源代码根据choosen sdk进行更新。您可以通过查看源代码的类定义来确认这一点。

 类似资料:
  • 我有一些依赖于项目,我有一些依赖于

  • 有什么方法可以使用两个不同的配置文件在settings.xml文件执行两个不同的构建在不同的服务器上?例如:在我的settings.xml文件中,我有两个配置文件: 现在,我想要一个项目的“test1”配置文件和另一个项目的“test2”,我希望我的pom.xml构建属性从settings.xml配置文件的属性中获取。 如果我将两个概要文件都保存在“activeProfiles”中,那么我的两个项

  • 我正在使用java-8进行多个Spring boot项目,但现在其中一个需要转移到java-11。所以我需要在笔记本电脑上安装两个版本。那么如何在同一台机器上为不同的项目处理不同的JAVA版本呢?

  • 我想确认一个用例,为此,我没有找到任何文档。如果两个用户登录在同一个设备中,而我使用的是setUserId方法,那么会发生什么?我的理解是:每当手机(iOS/Android)中安装了一个新的应用程序时,Firebase就会为该设备注册一个匿名用户,让我们说“Device-A”。当使用setUserID(user1)方法时(当user1登录到应用程序中时),Firebase开始用该用户id来标识该用

  • 1.背景 项目里已经引入了bcprov-jdk15on-1.54.jar,并且在很多地方使用. 现在合作方给过来一套新的接入资料,里面有以下jar包. 2.问题 项目中的bcprov-jdk15on存在两个版本,旧的是1.54,新的是1.69. 类似于下面这张图: 由于很多地方用到了1.54版本,所以不能直接升级到1.69. 现在想实现以下两点: 对于本次的新版本,其中的fintech-java-

  • 问题内容: 我正在为Java中的ERP系统进行定制。在我的定制中,我想使用Apache POI 3.10.1。因此,我集成了jars poi-3.10.1-20140818.jar和poi-ooxml-3.10.1-20140818.jar。 但是,这些jar包含几个类,这些类已经包含在ERP系统的核心代码中,但是有所不同。 如果核心ERP类覆盖POI类,则定制将引发运行时异常。如果POI类覆盖核