flutter - 如何在 macos 中为颤振和渡槽安装两个不同版本的飞镖
问题描述
目前我已经用颤振安装了飞镖,版本如下:
Flutter 1.23.0-18.1.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 198df796aa (2 weeks ago) • 2020-10-15 12:04:33 -0700
Engine • revision 1d12d82d9c
Tools • Dart 2.11.0 (build 2.11.0-213.1.beta)
我主要从事移动应用前端开发,因此这种设置对我有好处。
但是对于后端数据库开发,我开始学习 Aqueduct ( https://aqueduct.io/docs/getting_started/ )。我注意到渡槽 3.3.0+1(这是渡槽的当前稳定版本)仅适用于 dart <2.8.0。
因此,我想知道是否可以在我的 mac 中安装两个版本的 dart。如果是这样,我该怎么做?当我单独或同时使用它们时(如果可能的话),如何为颤振和 aquedart 切换或选择不同版本的飞镖?
编辑:我这样做是因为我在运行时遇到错误aqueduct create project
。有什么解决办法吗?
-- Aqueduct CLI Version: 3.3.0+1
*** Uncaught error
Bad state: No element
**** Stacktrace
* #0 ListMixin.firstWhere (dart:collection/list.dart:150:5)
* #1 CLIAqueductGlobal.aqueductPackageRef (package:aqueduct/src/cli/commands/create.dart:342:10)
* #2 CLIAqueductGlobal.templateDirectory (package:aqueduct/src/cli/commands/create.dart:347:12)
* #3 CLIAqueductGlobal.getTemplateLocation (package:aqueduct/src/cli/commands/create.dart:351:12)
* #4 CLITemplateCreator.handle (package:aqueduct/src/cli/commands/create.dart:51:27)
* #5 CLICommand.process (package:aqueduct/src/cli/command.dart:159:20)
* <asynchronous suspension>
* #6 CLICommand.process (package:aqueduct/src/cli/command.dart:135:12)
* #7 main (file:///C:/Users/dos/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/aqueduct-3.3.0+1/bin/aqueduct.dart:9:27)
* #8 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
* #9 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
****
解决方案
这不是真的。Aqueduct 和 Flutter 在 pubsbpec.yaml 中处理低于 3.0.0 的 Dart 版本
我和我的兄弟在一个开发项目中,我正在将它与最新的工作渡槽一起使用
Flutter (Channel master, 1.24.0-4.0.pre.138, on Mac OS X 10.15.7 19H2
darwin-x64, locale en-BR)
你不用担心flutter的dart sdk,它自己处理
要使用与颤振分开的新版本 dart 只是使用 Homebrew
brew tap dart-lang/dart
brew install dart
在您的颤振项目中,您在 .vscode 文件夹中的 settings.json 中使用新的 dart 路径覆盖(我使用的是 flutter_master 构建,所以我也必须覆盖它而不是颤振稳定)
{
"dart.flutterSdkPath": "~/Library/flutter_master/bin",
"dart.sdkPath": "/usr/local/bin/dart"
}
更新 1:
使用以下内容更新您的 pubspec.yaml
dependencies:
aqueduct: 3.3.0+1
dependency_overrides:
postgres: 2.2.0
你提到的错误和我一样,我忘了提。我很久以前在这个github线程中发现的问题
推荐阅读
- crystal-reports - Crystal Reports - 将存储过程作为数据源的子报表创建一个新参数并且不将其传递给存储过程
- python - 多个exe写入同一日志
- node.js - GraphQL & Mongoose Schema - 如何将一组 mongoose objectId 引用存储到另一种类型?
- laravel - Laravel dd 命令所需参数显示为空
- performance - 在 spark 中决定 shuffle 分区大小和分区数
- c# - 缺少文件或程序集 MySql.Data 或依赖项
- matlab - 如何从 MATLAB 中包含大量解释行的文本文件中提取表格?
- r - 同时进行多个假设检验 (r)
- visual-studio-code - VSCode 设置:Python > 数据科学类别缺失
- unity3d - 为了检测和获取我的手的位置,我必须下载哪些软件包才能使 unity 与 hololens 交互?