如何在具有多个 Dart 和 webdev 版本的机器上运行 flutter_web 和 angulardart?即使我在需要切换 Dart 版本时设置了不同的 PATH,两个 Dart 版本仍然使用相同的 webdev
,这是不正确的。
最佳答案
(目前官方还没有解决这个问题,也许以后官方会提供。)
以下是我的解决方案。我正在运行 MacOS。 Linux下应该是一样的,Windows下应该差不多。
有两件事需要注意。 (1) Dart SDK 版本 (2) 不同的PUB_CACHE
因为webdev
版本会不同。
我从this link手动下载angulardart需要的dart版本并将它放在 PATH
中NOT 的某处。并将 flutter 和 flutter_web 的 dart 放在 PATH
中。 (我不会详细解释这个。它应该很简单。)
然后我写了三个脚本和一个环境设置文件:
- 文件
angular-env
:
export PUB_CACHE="$HOME/.pub-cache-angular"
export PATH="Override PATH"
注意:当您覆盖 PATH 时,确保 (1) 删除 flutter dart bin,(2) 删除 ${HOME}/.pub-cache/bin (3) 添加 angulardart dart bin, (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
关于flutter - 如何在具有多个 Dart 和 webdev 版本的机器上运行 flutter_web 和 angulardart?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57362047/