1

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

4

1 回答 1

2

(目前还没有官方的解决方案,也许官方团队以后会提供。)

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

有两件事需要注意。(1) Dart SDK 版本 (2) 不同PUB_CACHE,因为webdev版本会不同。

我从这个链接手动下载了 angulardart 所需的 dart 版本并将其放在PATH. 并将用于 flutter 和 flutter_web 的 dart 放在PATH. (我不会详细解释。应该很简单。)

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

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

注意:当您覆盖 PATH 时,请确保 (1) 删除颤振飞镖箱,(2) 删除 ${HOME}/.pub-cache/bin (3) 添加 angulardart 飞镖箱,(4) 添加 $HOME/.pub-缓存角/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 "$@"

不要忘记使它们可执行。

现在,您可以简单地使用angulardartangular-pub global activate webdev来安装webdev

在此之后,一切都应该工作。您可以angular-webdev serve在 angulardart 项目中运行。

检查我的一些终端输出:

$ 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
于 2019-08-05T15:50:33.597 回答