Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need help understanding pub get failure #1853

Closed
aam opened this issue Mar 30, 2018 · 2 comments
Closed

Need help understanding pub get failure #1853

aam opened this issue Mar 30, 2018 · 2 comments
Assignees

Comments

@aam
Copy link

aam commented Mar 30, 2018

Please help understand error of (recently updated) pub get when run in flutter/package/flutter-tools project:

    |   0.31.2-alpha.1 from path depends on front_end 0.1.0-alpha.11, every version of analyzer from path
    |   requires front_end 0.1.0-alpha.11.
    | So, because flutter_tools depends on both front_end from path and analyzer from path, version
    |   solving failed.

pub get started to fail like that after upgrade from 875d350 to bc2b5ff.

Here is full output:

$FH/flutter/packages/flutter_tools $ $FH/flutter/bin/cache/dart-sdk/bin/pub -v get

FINE: Pub 2.0.0-edge.af1436931b93e755d38223c487d33a0a1f5eadf5
SLVR: fact: pub itself depends on barback >=0.15.0 <0.15.3
SLVR: fact: when barback is in use pub itself depends on source_span ^1.0.0
SLVR: fact: when barback is in use pub itself depends on stack_trace >=0.9.1 <2.0.0
SLVR: fact: when barback is in use pub itself depends on async >=1.8.0 <3.0.0
SLVR: fact: flutter_tools is 0.0.0
SLVR: derived: flutter_tools
SLVR: fact: flutter_tools depends on shelf_static 0.2.7
SLVR: fact: flutter_tools depends on file 3.0.0
SLVR: fact: flutter_tools depends on mustache 1.0.0
SLVR: fact: flutter_tools depends on web_socket_channel 1.0.7
SLVR: fact: flutter_tools depends on meta 1.1.2
SLVR: fact: flutter_tools depends on petitparser 1.7.6
SLVR: fact: flutter_tools depends on matcher 0.12.1+4
SLVR: fact: flutter_tools depends on boolean_selector 1.0.3
SLVR: fact: flutter_tools depends on source_map_stack_trace 1.1.4
SLVR: fact: flutter_tools depends on mime 0.9.6
SLVR: fact: flutter_tools depends on watcher 0.9.7+7
SLVR: fact: flutter_tools depends on quiver 0.28.0
SLVR: fact: flutter_tools depends on package_config 1.0.3
SLVR: fact: flutter_tools depends on barback 0.15.2+15
SLVR: fact: flutter_tools depends on html 0.13.3
SLVR: fact: flutter_tools depends on pool 1.3.4
SLVR: fact: flutter_tools depends on platform 2.1.2
SLVR: fact: flutter_tools depends on glob 1.1.5
SLVR: fact: flutter_tools depends on pub_semver 1.3.2
SLVR: fact: flutter_tools depends on cli_util 0.1.2+1
SLVR: fact: flutter_tools depends on intl 0.15.4
SLVR: fact: flutter_tools depends on path 1.5.1
SLVR: fact: flutter_tools depends on http_parser 3.1.1
SLVR: fact: flutter_tools depends on http_multi_server 2.0.4
SLVR: fact: flutter_tools depends on node_preamble 1.4.0
SLVR: fact: flutter_tools depends on coverage 0.10.0
SLVR: fact: flutter_tools depends on test 0.12.32+2
SLVR: fact: flutter_tools depends on async 2.0.6
SLVR: fact: flutter_tools depends on charcode 1.1.1
SLVR: fact: flutter_tools depends on http 0.11.3+16
SLVR: fact: flutter_tools depends on xml 3.0.0
SLVR: fact: flutter_tools depends on io 0.3.2+1
SLVR: fact: flutter_tools depends on json_rpc_2 2.0.7
SLVR: fact: flutter_tools depends on shelf_web_socket 0.2.2
SLVR: fact: flutter_tools depends on term_glyph 1.0.0
SLVR: fact: flutter_tools depends on stream_channel 1.6.4
SLVR: fact: flutter_tools depends on multi_server_socket 1.0.1
SLVR: fact: flutter_tools depends on utf 0.9.0+4
SLVR: fact: flutter_tools depends on process 2.0.9
SLVR: fact: flutter_tools depends on source_span 1.4.0
SLVR: fact: flutter_tools depends on shelf 0.7.2
SLVR: fact: flutter_tools depends on string_scanner 1.0.2
SLVR: fact: flutter_tools depends on js 0.6.1
SLVR: fact: flutter_tools depends on vm_service_client 0.2.4+1
SLVR: fact: flutter_tools depends on source_maps 0.10.4
SLVR: fact: flutter_tools depends on linter 0.1.45
SLVR: fact: flutter_tools depends on package_resolver 1.0.2
SLVR: fact: flutter_tools depends on args 1.4.1
SLVR: fact: flutter_tools depends on typed_data 1.1.5
SLVR: fact: flutter_tools depends on crypto 2.0.2+1
SLVR: fact: flutter_tools depends on csslib 0.14.1
SLVR: fact: flutter_tools depends on isolate 1.1.0
SLVR: fact: flutter_tools depends on usage 3.3.0
SLVR: fact: flutter_tools depends on stack_trace 1.9.2
SLVR: fact: flutter_tools depends on plugin 0.2.0+2
SLVR: fact: flutter_tools depends on convert 2.0.1
SLVR: fact: flutter_tools depends on archive 1.0.33
SLVR: fact: flutter_tools depends on json_schema 1.0.8
SLVR: fact: flutter_tools depends on shelf_packages_handler 1.0.3
SLVR: fact: flutter_tools depends on logging 0.11.3+1
SLVR: fact: flutter_tools depends on yaml 2.1.13
SLVR: fact: flutter_tools depends on collection 1.14.6
SLVR: fact: flutter_tools depends on mockito 3.0.0-alpha+2
SLVR: fact: flutter_tools depends on kernel from path
SLVR: fact: flutter_tools depends on front_end from path
SLVR: fact: flutter_tools depends on analyzer from path
SLVR:   selecting flutter_tools
SLVR:   derived: analyzer from path
SLVR:   derived: front_end from path
SLVR:   derived: kernel from path
SLVR:   derived: mockito 3.0.0-alpha+2
SLVR:   derived: collection 1.14.6
SLVR:   derived: yaml 2.1.13
SLVR:   derived: logging 0.11.3+1
SLVR:   derived: shelf_packages_handler 1.0.3
SLVR:   derived: json_schema 1.0.8
SLVR:   derived: archive 1.0.33
SLVR:   derived: convert 2.0.1
SLVR:   derived: plugin 0.2.0+2
SLVR:   derived: stack_trace 1.9.2
SLVR:   derived: usage 3.3.0
SLVR:   derived: isolate 1.1.0
SLVR:   derived: csslib 0.14.1
SLVR:   derived: crypto 2.0.2+1
SLVR:   derived: typed_data 1.1.5
SLVR:   derived: args 1.4.1
SLVR:   derived: package_resolver 1.0.2
SLVR:   derived: linter 0.1.45
SLVR:   derived: source_maps 0.10.4
SLVR:   derived: vm_service_client 0.2.4+1
SLVR:   derived: js 0.6.1
SLVR:   derived: string_scanner 1.0.2
SLVR:   derived: shelf 0.7.2
SLVR:   derived: source_span 1.4.0
SLVR:   derived: process 2.0.9
SLVR:   derived: utf 0.9.0+4
SLVR:   derived: multi_server_socket 1.0.1
SLVR:   derived: stream_channel 1.6.4
SLVR:   derived: term_glyph 1.0.0
SLVR:   derived: shelf_web_socket 0.2.2
SLVR:   derived: json_rpc_2 2.0.7
SLVR:   derived: io 0.3.2+1
SLVR:   derived: xml 3.0.0
SLVR:   derived: http 0.11.3+16
SLVR:   derived: charcode 1.1.1
SLVR:   derived: async 2.0.6
SLVR:   derived: test 0.12.32+2
SLVR:   derived: coverage 0.10.0
SLVR:   derived: node_preamble 1.4.0
SLVR:   derived: http_multi_server 2.0.4
SLVR:   derived: http_parser 3.1.1
SLVR:   derived: path 1.5.1
SLVR:   derived: intl 0.15.4
SLVR:   derived: cli_util 0.1.2+1
SLVR:   derived: pub_semver 1.3.2
SLVR:   derived: glob 1.1.5
SLVR:   derived: platform 2.1.2
SLVR:   derived: pool 1.3.4
SLVR:   derived: html 0.13.3
SLVR:   derived: barback 0.15.2+15
SLVR:   derived: package_config 1.0.3
SLVR:   derived: quiver 0.28.0
SLVR:   derived: watcher 0.9.7+7
SLVR:   derived: mime 0.9.6
SLVR:   derived: source_map_stack_trace 1.1.4
SLVR:   derived: boolean_selector 1.0.3
SLVR:   derived: matcher 0.12.1+4
SLVR:   derived: petitparser 1.7.6
SLVR:   derived: meta 1.1.2
SLVR:   derived: web_socket_channel 1.0.7
SLVR:   derived: mustache 1.0.0
SLVR:   derived: file 3.0.0
SLVR:   derived: shelf_static 0.2.7
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on watcher ^0.9.6
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on args >=0.12.1 <2.0.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on package_config >=0.1.5 <2.0.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on collection ^1.10.1
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on meta ^1.0.2
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on crypto >=1.1.1 <3.0.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on charcode ^1.1.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on html >=0.12.0 <1.14.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on kernel 0.3.0-alpha.11
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on isolate >=0.2.2 <2.0.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on glob ^1.0.3
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on plugin ^0.2.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on convert ^2.0.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on cli_util ^0.1.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on path >=0.9.0 <2.0.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on yaml ^2.1.2
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on source_span ^1.2.0
SLVR:   fact: analyzer 0.31.2-alpha.1 from path depends on front_end 0.1.0-alpha.11
SLVR:   derived: not analyzer 0.31.2-alpha.1 from path
SLVR:   fact: no versions of analyzer from path match <0.31.2-alpha.1 or >0.31.2-alpha.1
SLVR:   conflict: no versions of analyzer from path match <0.31.2-alpha.1 or >0.31.2-alpha.1
SLVR:   ! analyzer <0.31.2-alpha.1 or >0.31.2-alpha.1 from path is partially satisfied by not analyzer 0.31.2-alpha.1 from path
SLVR:   ! which is caused by "analyzer 0.31.2-alpha.1 from path depends on front_end 0.1.0-alpha.11"
SLVR:   ! thus: every version of analyzer from path requires front_end 0.1.0-alpha.11
SLVR:   ! not front_end 0.1.0-alpha.11 is satisfied by front_end from path
SLVR:   ! which is caused by "flutter_tools depends on front_end from path"
SLVR:   ! thus: analyzer from path is forbidden
SLVR:   ! analyzer from path is satisfied by analyzer from path
SLVR:   ! which is caused by "flutter_tools depends on analyzer from path"
SLVR:   ! thus: version solving failed
SLVR: Version solving took 0:00:00.229697 seconds.
    | Tried 1 solutions.
FINE: Resolving dependencies finished (0.253s).
ERR : Because no versions of analyzer from path match <0.31.2-alpha.1 or >0.31.2-alpha.1 and analyzer
    |   0.31.2-alpha.1 from path depends on front_end 0.1.0-alpha.11, every version of analyzer from path
    |   requires front_end 0.1.0-alpha.11.
    | So, because flutter_tools depends on both front_end from path and analyzer from path, version
    |   solving failed.
FINE: Exception type: SolveFailure
FINE: package:pub/src/solver/version_solver.dart 331  VersionSolver._resolveConflict
    | package:pub/src/solver/version_solver.dart 154  VersionSolver._propagate
    | package:pub/src/solver/version_solver.dart 119  VersionSolver.solve
    | ===== asynchronous gap ===========================
    | dart:async                                      _Completer.completeError
    | package:pub/src/solver/version_solver.dart      VersionSolver.solve
    | ===== asynchronous gap ===========================
    | dart:async                                      _asyncThenWrapperHelper
    | package:pub/src/solver/version_solver.dart 109  VersionSolver.solve
    | package:pub/src/solver.dart 35                  resolveVersions.<fn>
    | package:pub/src/log.dart 409                    progress
    | package:pub/src/solver.dart 32                  resolveVersions
    | package:pub/src/entrypoint.dart 207             Entrypoint.acquireDependencies
    | ===== asynchronous gap ===========================
    | dart:async                                      new Future.microtask
    | package:pub/src/entrypoint.dart 206             Entrypoint.acquireDependencies
    | package:pub/src/command/get.dart 38             GetCommand.run
    | package:args/command_runner.dart 194            CommandRunner.runCommand
    | ===== asynchronous gap ===========================
    | dart:async                                      new Future.microtask
    | package:args/command_runner.dart 142            CommandRunner.runCommand
    | package:pub/src/command_runner.dart 168         PubCommandRunner.runCommand.<fn>
    | dart:async                                      new Future.sync
    | package:pub/src/utils.dart 116                  captureErrors.<fn>
    | package:stack_trace                             Chain.capture
    | package:pub/src/utils.dart 131                  captureErrors
    | package:pub/src/command_runner.dart 168         PubCommandRunner.runCommand
@nex3
Copy link
Member

nex3 commented Mar 30, 2018

There are a number of issues here:

  • Pub isn't properly overriding analyzer's front_end dependency. This is a behavioral regression that I'll look into fixing immediately.
  • The fact that you have a locked version of analyzer is interacting poorly with the fact that, as a path dependency, it has only one version. This is why you see the strange message no versions of analyzer from path match <0.31.2-alpha.1 or >0.31.2-alpha.1.
  • It's not clear in the failure message that you have a hosted front_end dependency that's incompatible with a path front_end dependency.

nex3 added a commit that referenced this issue Mar 30, 2018
nex3 added a commit that referenced this issue Mar 30, 2018
nex3 added a commit that referenced this issue Mar 30, 2018
nex3 added a commit that referenced this issue Mar 30, 2018
aam added a commit to aam/engine that referenced this issue Mar 30, 2018
aam added a commit to flutter/engine that referenced this issue Mar 30, 2018
@aam
Copy link
Author

aam commented Mar 30, 2018

Thank you @nex3 for quick reply!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants