如何在 macOS 中安装两个不同版本的 dart for flutter 和 aqueduct
How to install two different version of dart for flutter and aqueduct in a macos
目前我安装了dart和flutter,版本如下:
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/)。我注意到 aqueduct 3.3.0+1(这是 aqueduct 的当前稳定版本)仅适用于 dart <2.8.0.
因此,我想知道是否可以在我的 mac 中安装两个版本的 dart。
如果是这样,我该怎么做?
当我单独或同时使用它们时(如果可能的话)如何切换或 select 不同版本的 dart for flutter 和 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 不用担心,它一个人搞定
要使用与 flutter 分开的新版本的 dart,只需使用 Homebrew
brew tap dart-lang/dart
brew install dart
在您的 flutter 项目中,您在 .vscode 文件夹中的 settings.json 中覆盖了新的飞镖路径(我正在使用 flutter_master build,所以我也必须覆盖它而不是颤振稳定)
{
"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
你说的错误我也遇到过,忘记说了。
我很久以前在 this github thread
中发现的问题
我在 运行 aqueduct create project
编辑时遇到错误的问题是由于一开始没有正确设置 pub。
如果您遇到这个问题,请使用
- 将 dart-sdk 插入到您的路径环境变量中。如需更多信息,请关注此 link https://www.youtube.com/watch?v=VdcJ2PAzXWs&ab_channel=NickManning 的前几分钟。这允许您使用
pub
.
- 如果您正确执行了上述步骤,那么您可以 运行
pub global activate aqueduct
而不是 flutter pub global activate aqueduct
并且稍后可以毫无问题地创建项目。
目前我安装了dart和flutter,版本如下:
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/)。我注意到 aqueduct 3.3.0+1(这是 aqueduct 的当前稳定版本)仅适用于 dart <2.8.0.
因此,我想知道是否可以在我的 mac 中安装两个版本的 dart。 如果是这样,我该怎么做? 当我单独或同时使用它们时(如果可能的话)如何切换或 select 不同版本的 dart for flutter 和 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 不用担心,它一个人搞定
要使用与 flutter 分开的新版本的 dart,只需使用 Homebrew
brew tap dart-lang/dart
brew install dart
在您的 flutter 项目中,您在 .vscode 文件夹中的 settings.json 中覆盖了新的飞镖路径(我正在使用 flutter_master build,所以我也必须覆盖它而不是颤振稳定)
{
"dart.flutterSdkPath": "~/Library/flutter_master/bin",
"dart.sdkPath": "/usr/local/bin/dart"
}
更新 1:
使用以下
更新您的pubspec.yamldependencies:
aqueduct: 3.3.0+1
dependency_overrides:
postgres: 2.2.0
你说的错误我也遇到过,忘记说了。 我很久以前在 this github thread
中发现的问题我在 运行 aqueduct create project
编辑时遇到错误的问题是由于一开始没有正确设置 pub。
如果您遇到这个问题,请使用
- 将 dart-sdk 插入到您的路径环境变量中。如需更多信息,请关注此 link https://www.youtube.com/watch?v=VdcJ2PAzXWs&ab_channel=NickManning 的前几分钟。这允许您使用
pub
. - 如果您正确执行了上述步骤,那么您可以 运行
pub global activate aqueduct
而不是flutter pub global activate aqueduct
并且稍后可以毫无问题地创建项目。