Version conflict between angular_components, rpc a

2019-09-16 17:23发布

问题:

Is it possible to use angular_components together with rpc and sqljocky packages in Dart? I have a package version conflict and cannot find my way out of it.

I am using Dart VM version: 1.23.0 (Fri Apr 21 03:13:00 2017) on "windows_x64" . My pubspec.yaml for which I can get all dependencies is

name: Project
description: Some description
version: 0.0.1
author: me

environment:
  sdk: '>=1.20.1 <2.0.0'

dependencies:
  angular2: ^3.0.0
  ng_bootstrap: ">=0.5.1"
  angular_components: ">=0.5.0"
  plotly: any
  _discoveryapis_commons: ^0.1.0
  crypto: ^2.0.0
  http: ^0.11.1
  http_server: ^0.9.5+1
  logging_handlers: ^0.8.0
#  rpc: ">=0.5.0"
  csv: "^3.1.2"
#  sqljocky: '>=0.14.1'
  test: '>=0.12.20'

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

However, as soon as I reintroduce rpc or sqljocky (i.e. remove the comment sign in front of them) and run pub get, I get either an error

Package dart_style has no versions that match >=0.2.10 <2.0.0 derived from:
- angular2 3.1.0-beta depends on version >=0.1.8 <2.0.0
- code_builder 1.0.3 depends on version >=0.2.10 <2.0.0

(for sqljocky) or pub get hangs indefinitely with messages like

[...]
inconsistent constraints on quiver:
   uri 0.9.3 from hosted -> quiver >=0.17.0 <0.19.0 from hosted (quiver)
   angular2 3.1.0 from hosted -> quiver >=0.21.4 <0.26.0 from hosted (quiver)
   angular_components 0.5.1 from hosted -> quiver >=0.22.0 <0.26.0 from hosted (quiver)
 version 0.9.2 of uri doesn't match >=0.9.3 <0.12.0:
   rpc 0.5.6+3 from hosted -> uri >=0.9.3 <0.12.0 from hosted (uri)
 version 0.9.1 of uri doesn't match >=0.9.3 <0.12.0:
   rpc 0.5.6+3 from hosted -> uri >=0.9.3 <0.12.0 from hosted (uri)
[...]

(for rpc, message edited for legibility). Any suggestions?

回答1:

A new version of package:uri was published with a wider constraint on package:quiver, which should fix the issue.



回答2:

Here's your problem: https://output.jsbin.com/varenekizi

rpc -> uri -> quiver <0.22.0

You need a more recent pkg/quiver for angular_compenents.

Fix in pubspec.yaml

dependency_overrides:
  quiver: 0.25.0


标签: angular dart rpc