是否有通过代理进行pub依赖解析的解决方法?

时间:2012-12-12 21:52:54

标签: dart dart-pub

我正在尝试使用https://github.com/dart-lang/web-ui-code-lab进行飞镖开发。如果我按照pdf并打开step05,然后尝试运行chat_server.dart,我收到此错误(我的路径中没有空格,如果相关的话):

dart --enable-checked-mode bin/chat_server.dart

Unable to open file: path/to/web-ui-code-lab-master/step05/bin/packages/dart_chat/file_logger.dart'file:///path/to/dart/web-ui-code-lab-master/step05/bin/chat_server.dart': Error: line 5 pos 1: library handler failed
import 'package:dart_chat/file_logger.dart' as log;
^

我认为这意味着有一些缺少的依赖项,但我无法运行pub install,因为我在公司的http代理后面:

Running pub install ...
Pub install failed, [1] Resolving dependencies...
Timed out trying to find package "web_ui 0.2.8+6" at http://pub.dartlang.org.

因此,我开始寻找pub依赖解析的临时解决方法。我尝试更改pubspec.yaml以通过git://协议而不是http(无法通过代理解析):

name: dart_chat
description: This is a chat app written in Dart using the Dart Web UI package

dependencies:
  web_ui:
    git: git://github.com/dart-lang/web-ui.git

我使用pub install比以前更进一步,所以我认为它已成功通过git协议并试图解决web_ui的依赖关系,但不幸的是,这样做会失败web_ui对日志记录的依赖(看起来它仍然通过http: //):

Running pub install ...
Pub install failed, [1] Resolving dependencies...
Timed out trying to find package "logging 0.2.7" at http://pub.dartlang.org.

看起来我无法更改yaml以使用sdk的日志记录依赖项:

logging:
    sdk: logging

因为这是与web_ui不兼容的来源:

Pub install failed, [1] Resolving dependencies...
Incompatible dependencies on 'logging':
- 'dart_chat' depends on it from source 'sdk'
- 'web_ui' depends on it from source 'hosted'

有没有其他方法可以解决当前开发工具的代理问题?我可以以某种方式镜像pub.dartlang.org吗?或镜像每个依赖项的git存储库?感谢。

2 个答案:

答案 0 :(得分:1)

你说你正在使用Mac。如果它是一台笔记本电脑,为什么不尝试在家里做呢?我会通知酒吧作者这个问题,看看他是否有任何建议。

答案 1 :(得分:0)

目前无法在Dart编辑器中设置代理,您可以star this issue检查它何时可用。

我找到了在代理后面运行Pub安装/更新的解决方法:在Windows中,您可以访问“Environment variables”并添加名为HTTP_PROXY的变量,其值为

https://USER:PASSWORD@my.proxy.adress:PORT