Skip to content

fix: melos throws a null check operator used on null when version missing. #972

@bsutton

Description

@bsutton

Is there an existing issue for this?

  • I have searched the existing issues.

Version

fork of 7.3.0

Description

running melos list throws

 melos list
Downloading packages... . 
No dependencies would change in `xxxx/git/melos`.
Building package executable... 
Built melos_workspace:melos_dev.
Resolving dependencies... 
Downloading packages... 
  _fe_analyzer_shared 85.0.0 (92.0.0 available)
  analyzer 7.6.0 (9.0.0 available)
  analyzer_plugin 0.13.4 (0.13.11 available)
  custom_lint 0.8.0 (0.8.1 available)
  custom_lint_builder 0.8.0 (0.8.1 available)
  custom_lint_core 0.8.0 (0.8.1 available)
  custom_lint_visitor 1.0.0+7.7.0 (1.0.0+8.4.0 available)
  dart_style 3.1.1 (3.1.3 available)
  lints 2.1.1 (6.0.0 available)
  matcher 0.12.17 (0.12.18 available)
  test 1.26.3 (1.28.0 available)
  test_api 0.7.7 (0.7.8 available)
  test_core 0.6.12 (0.6.14 available)
Got dependencies!
13 packages have newer versions incompatible with dependency constraints.
Try `dart pub outdated` for more information.
Unhandled exception:
Null check operator used on a null value
#0      ExecutableInstallation._loadVersion (package:cli_launcher/cli_launcher.dart:159:38)
#1      ExecutableInstallation.version (package:cli_launcher/cli_launcher.dart:106:38)
#2      launchExecutable (package:cli_launcher/cli_launcher.dart:423:59)
<asynchronous suspension>
#3      main (file:///xxxx/melos/bin/melos_dev.dart:13:3)
<asynchronous suspension>

Steps to reproduce

fork the melos repo.

activate the fork:

cd path/to/melos/fork
melos activate
ce path/to/some/melos workspace
melos list

Expected behavior

melos list, list the packages.

Screenshots

No response

Additional context and comments

melos activate
Resolving dependencies... 
Downloading packages... 
Got dependencies!
Resolving dependencies in `/xxxx/git/melos`... 
Downloading packages... 
Got dependencies in `/xxx/git/melos`.
Resolving dependencies in `/xxx/git/melos`... 
Downloading packages... 
Got dependencies in `/xxx/git/melos`.
Building package executable... 
Built melos:melos.
melos run activate
  └> dart pub global activate --source="path" . --executable="melos" --overwrite
     └> RUNNING

Resolving dependencies...
Downloading packages...
Got dependencies!
Package melos_workspace is currently active at path "/xxxx/git/melos".
Installed executable melos.
ERROR: Replaced melos previously installed from melos.

Activated melos_workspace 0.0.0 at path "/xxxx/git/melos".

The melos workspace:

name: melos_test
version: 0.1.0
environment:
  sdk: ">=3.10.0 <4.0.0"
dev_dependencies:
  melos: ^7.3.0
workspace:
  - packages/mailbox
  - packages/mailer
melos: 
  path: ../../melos/packages/melos

Other

  • I'm interested in working on a PR for this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds triageThe issue needs triaging

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions