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