发布http的pub错误

时间:2017-04-20 16:14:22

标签: dart package install

尝试安装http软件包,最新版本为0.11.3 + 13版,找到here

当我把它放在项目中的pubspec.yaml中时,我得到了这个:

  

包http没有与> = 0.11.3 + 13< 0.12.0匹配的版本:    - observables取决于版本^ 0.11.3 + 13

这是我的pubspec.yaml(注意我暂时注释掉'angular2'和'rxdart'。

environment:
  sdk: '>=1.20.1 <2.0.0'

dependencies:
  # angular2: ^2.2.0
  # rxdart: ^0.10.2
  http: ^0.11.3+13

dev_dependencies:
  browser: ^0.10.0
  dart_to_js_script_rewriter: ^1.0.1

transformers:
- angular2:
    platform_directives:
    - 'package:angular2/common.dart#COMMON_DIRECTIVES'
    platform_pipes:
    - 'package:angular2/common.dart#COMMON_PIPES'
    entry_points: web/main.dart
- dart_to_js_script_rewriter

我能够下载该软件包(该版本)。这是pubspec.yaml:

name: http
version: 0.11.3+13
author: "Dart Team <misc@dartlang.org>"
homepage: https://github.com/dart-lang/http
description: A composable, Future-based API for making HTTP requests.
dependencies:
  async: "^1.10.0"
  collection: "^1.5.0"
  http_parser: ">=0.0.1 <4.0.0"
  path: ">=0.9.0 <2.0.0"
  stack_trace: ">=0.9.1 <2.0.0"
dev_dependencies:
  unittest: ">=0.9.0 <0.12.0"
environment:
  sdk: ">=1.23.0-dev.0.0 <2.0.0"

并且,以下是pub的输出,列出了它可以安装的所有软件包和版本(通过删除http软件包):

  analyzer 0.29.10 (0.30.0-alpha.2 available)
  angular2 2.2.0 (3.0.0-beta+1 available)
  args 0.13.7
  async 1.13.2
  barback 0.15.2+10
  browser 0.10.0+2
  build 0.5.0 (0.8.0 available)
  charcode 1.1.1
  cli_util 0.0.1+2
  code_transformers 0.5.1
  collection 1.14.0
  convert 2.0.1
  crypto 2.0.1
  csslib 0.13.5
  dart_style 0.2.16 (1.0.3 available)
  dart_to_js_script_rewriter 1.0.2
  fixnum 0.10.5
  glob 1.1.3
  html 0.13.1
  http_parser 3.1.1
  intl 0.14.0 (0.15.0 available)
  isolate 1.0.0
  js 0.6.1
  logging 0.11.3+1
  meta 1.0.5
  mime 0.9.3
  observable 0.14.0+1 (0.20.4+1 available)
  package_config 1.0.0
  path 1.4.1
  plugin 0.2.0
  pool 1.3.0
  protobuf 0.5.4
  rxdart 0.10.2
  shelf 0.6.7+2


  shelf_static 0.2.4
  source_maps 0.10.4
  source_span 1.3.1
  stack_trace 1.7.3
  stream_channel 1.6.1
  string_scanner 1.0.1
  typed_data 1.1.3
  utf 0.9.0+3
  watcher 0.9.7+3
  when 0.2.0
  which 0.1.3
  yaml 2.1.12

两个观察结果:

  1. 当我尝试'pub升级'时,没有任何变化,即使'get'输出显示有更高版本可用。

  2. 查看http包中的依赖项,它们似乎都在“get”输出中引用了有效版本。

  3. 所以,如果observable依赖于版本^ 0.11.3 + 13,那就是我正在尝试安装的版本,并且它在github上肯定是可以找到的,为什么它会抱怨?

    我一直在浏览错误报告,并且一致认为这是一个版本依赖性问题,据说很容易修复。但是我没有看到任何冲突或版本之外的依赖关系。而且,如果是这样的话,我也不知道如何找到并修复。

    有没有办法手动安装软件包,还是会破坏更多的东西?

1 个答案:

答案 0 :(得分:0)

错误消息具有误导性。这只意味着pub无法找到匹配的依赖关系集。

在您的情况下,我很确定这是您正在使用的http版本中的SDK约束

https://github.com/dart-lang/http/blob/0.11.3%2B13/pubspec.yaml

environment:
  sdk: ">=1.23.0-dev.0.0 <2.0.0"