flutter - 如何在具有多个 Dart 和 webdev 版本的机器上运行 flutter_web 和 angulardart?

标签 flutter angular-dart flutter-web

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

最佳答案

(目前官方还没有解决这个问题,也许以后官方会提供。)

以下是我的解决方案。我正在运行 MacOS。 Linux下应该是一样的,Windows下应该差不多。

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

我从this link手动下载angulardart需要的dart版本并将它放在 PATHNOT 的某处。并将 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/

相关文章:

macos - 如何在 Mac 中将 Flutter 永久添加到路径

flutter - Flutter无法选择,复制或粘贴EditableText

javascript - 使用 dart 回调来封装 js

routing - 如何从 Angular Dart 2 中的子组件导航?

Flutter TextButton splashColor属性

flutter-web - 如何让文件被选中

Flutter web - 如何监听打开的抽屉状态并关闭它

sqlite - 如何在Listview中恢复数据

dart - Flutter StatefulWidget - 状态类继承?

dart - 在 Dart 对象销毁之前如何做一些事情?