【问题标题】:Dart build step in teamcity团队城市中的 Dart 构建步骤
【发布时间】:2018-05-13 10:53:10
【问题描述】:

我尝试在 teamcity 中创建构建步骤来构建 dart Angular 应用程序。 第一步,我运行命令行脚本:

set https_proxy=http://myproxyaddress
pub get

日志看起来像:

[Step 1/5] Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script8119797236865524010.cmd
[18:23:36][Step 1/5] in directory: C:\TeamCity\buildAgent\work\4213686b1a2fc1c1\Soy.Warehouse.UI
[18:23:36][Step 1/5] Resolving dependencies...
[18:23:40][Step 1/5] Downloading angular 4.0.0-alpha...
[18:23:40][Step 1/5] Downloading analyzer 0.30.0+4...
[18:23:40][Step 1/5] Downloading angular_compiler 0.1.1...
[18:23:40][Step 1/5] Downloading angular_components 0.6.0-alpha...
[18:23:40][Step 1/5] Downloading args 0.13.7...
[18:23:40][Step 1/5] Downloading async 1.13.3...
[18:23:40][Step 1/5] Downloading barback 0.15.2+13...
[18:23:40][Step 1/5] Downloading browser 0.10.0+2...
[18:23:44][Step 1/5] Got dependencies!
[18:23:44][Step 1/5] Precompiling dependencies...
[18:23:44][Step 1/5] Loading source assets...
[18:23:46][Step 1/5] Loading angular/transform/codegen and dart_to_js_script_rewriter transformers...
[18:23:46][Step 1/5] Transformer library "package:angular/transform/codegen.dart" not found.
[18:23:46][Step 1/5] Process exited with code 0

有第一个问题:

Transformer library "package:angular/transform/codegen.dart" not found.

接下来我尝试构建:

pub build

并且有错误:

[Step 3/5] Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script7686521311233408238.cmd
[18:23:46][Step 3/5] in directory: C:\TeamCity\buildAgent\work\4213686b1a2fc1c1\Soy.Warehouse.UI
[18:23:47][Step 3/5] Loading source assets...
[18:23:48][Step 3/5] Loading dart_to_js_script_rewriter and angular/transform/codegen transformers...
[18:23:49][Step 3/5] Unable to spawn isolate: Unhandled exception:
[18:23:49][Step 3/5] Could not import "package:$pub/transformer_isolate.dart" from "file:///C:/TeamCity/buildAgent/temp/buildTmp/pub_ac2ee8da-d521-11e7-80de-0050568337f8/runInIsolate.dart": Failure getting http://localhost:58353/packages/$pub/transformer_isolate.dart:
[18:23:49][Step 3/5]   504 Gateway Timeout
[18:23:49][Step 3/5] null
[18:23:49][Step 3/5] Process exited with code 1
[18:23:49][Step 3/5] Process exited with code 1
[18:23:49][Step 3/5] Step dart build (Command Line) failed

我做错了什么?如何在 teamcity 中构建 dart 项目?

pubspec.yaml

environment:
  sdk: '>=1.24.0 <2.0.0'

dependencies:
  angular: "4.0.0-alpha"
  angular_components: "^0.6.0-alpha"
  http: ^0.11.3+14
  uuid: ^0.5.3
  stream_transformers: ^0.3.0

dev_dependencies:
  browser: '^0.10.0+2'
  dart_to_js_script_rewriter: ^1.0.3

transformers:
- angular:
    entry_points:
    - web/main.dart
    - web_test/main.dart
- $dart2js:
    commandLineOptions: [--show-package-warnings]
- dart_to_js_script_rewriter

web:
  compiler:
    debug: dartdevc

【问题讨论】:

  • 在没有 teamcity 的情况下也可以使用吗?什么角版本? pubspec.yaml 中的转换器部分是什么样的?
  • 是的,它可以在没有 teamcity 的情况下工作。角度:“4.0.0-alpha”。添加了 pubspec.yaml。

标签: dart teamcity


【解决方案1】:

代理设置中的问题。

set https_proxy=http://myproxyaddress

在构建过程中,pub 尝试通过代理服务器连接到本地主机(我认为)。我们需要在系统环境或构建/获取步骤中声明no_proxy

set no_proxy=localhost,127.0.0.0/8, <corporate addresses>

我将步骤 1 更改为:

set https_proxy=http://myproxyaddress
set no_proxy=localhost,127.0.0.0/8, <corporate addresses>
pub get

第 2 步:

set no_proxy=localhost,127.0.0.0/8, <corporate addresses>
pub build

【讨论】:

    【解决方案2】:

    首先我建议使用4.0.0(最终)而不是4.0.0-alpha

    移除pubpsec.yaml 中的codegen 转换器。

    transformers 部分应如下所示

    transformers:
    - sass_builder
    - angular:
        entry_points: web/main.dart
    

    另见https://github.com/dart-lang/angular_components_example/blob/master/pubspec.yaml

    【讨论】:

    • 查看 pubspec.yaml 文件。没有代码生成器。如果我在没有 teamcity 的代理机器上手动构建项目一切正常。
    • 好的。第一步顺利通过(pub get)。但构建步骤出现错误:Transformer library "package:angular/transformer.dart" not found.
    • 这一切都很奇怪。有什么理由不使用final?其实我也不指望这会改变任何事情。
    • 我们继续使用这个版本,因为#594
    • 我明白了。它以某种方式看起来像是包含了不兼容的依赖项,但您的 pubspec.yaml 没有显示任何可疑的内容。您在pubspec.yaml 中没有您没有添加到您的问题中的dependency_overrides
    猜你喜欢
    • 2011-12-15
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 2013-01-01
    • 1970-01-01
    相关资源
    最近更新 更多