如何在具有多个Dart和Webdev版本的一台机器上运行flutter_web和angulardart?

时间:2019-08-05 15:50:02

标签: flutter angular-dart flutter-web

如何在具有多个Dart和Webdev版本的一台机器上运行flutter_web和angulardart?即使当我需要切换Dart版本时设置了不同的PATH,两个Dart版本仍使用相同的webdev,这确实不正确。

1 个答案:

答案 0 :(得分:2)

(到目前为止,尚无官方解决方案。也许官方团队将来会提供解决方案。)

以下是我的解决方案。我正在运行MacOS。在Linux中应该相同,而在Windows中应该相似。

需要注意两件事。 (1)Dart SDK版本(2)由于PUB_CACHE版本不同,因此webdev也不同。

我从this link手动下载了angulardart所需的dart版本,并将其放在PATH中的 NOT 某处。并将用于flutter和flutter_web的飞镖放入PATH中。 (我不会详细解释。它应该非常简单。)

然后,我编写了三个脚本和一个环境设置文件:

  • 文件angular-env
export PUB_CACHE="$HOME/.pub-cache-angular"
export PATH="Override PATH"

注意:当您覆盖PATH时,请确保(1)删除flutter dart垃圾箱,(2)删除$ {HOME} /。pub-cache / bin(3)添加angulardart dart垃圾箱, (4)添加$ HOME / .pub-cache-angular / bin

  • 文件angular-dart
#!/bin/bash

source angular-env

dart "$@"
  • 文件angular-pub
#!/bin/bash

source angular-env

pub "$@"
  • 文件angular-webdev
#!/bin/bash

source angular-env

webdev "$@"

别忘了使它们可执行。

现在,您只需使用angular-pub global activate webdev来为angulardart安装webdev

在此之后,一切都会正常。您可以在angulardart项目中运行angular-webdev serve

检查一些终端输出:

$ dart --version
Dart VM version: 2.5.0-dev.1.0.flutter-fedd74669a (Sat Jul 20 00:05:23 2019 +0000) on "macos_x64"
$ angular-dart --version
Dart VM version: 2.2.1-dev.3.0 (Tue Apr 2 13:55:04 2019 +0200) on "macos_x64"
$ pub version
Pub 2.5.0-dev.1.0.flutter-fedd74669a
$ angular-pub version
Pub 2.2.1-dev.3.0
$ webdev --version
2.3.0
$ angular-webdev --version
2.0.5