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

Error message for unbound dependencies should be improved on update #10451

Closed
alpipego opened this issue Jan 11, 2022 · 1 comment
Closed

Error message for unbound dependencies should be improved on update #10451

alpipego opened this issue Jan 11, 2022 · 1 comment
Labels
Milestone

Comments

@alpipego
Copy link

A follow-up on this tweet: https://twitter.com/naderman/status/1480827546052739077

My composer.json:

{
  "name": "alpipego/wp-base",
  "description": "",
  "license": "MIT",
  "minimum-stability": "dev",
  "repositories": [
    {
      "type": "path",
      "url": "/var/www/wp/app/develop/*",
      "options": {
        "symlink": true
      },
      "canonical": true
    },
    {
      "type": "composer",
      "url": "https://wpackagist.org"
    },
    {
      "type": "composer",
      "url": "https://wp-languages.github.io/"
    }
  ],
  "require": {
    "hassankhan/config": "^2.0.0",
    "yosymfony/toml": "^1.0",
    "johnpbloch/wordpress-core": "dev-master",
    "johnpbloch/wordpress-core-installer": "^2.0",
    "wpackagist-plugin/disable-wordpress-updates": "^1.6",
    "wpackagist-plugin/redirection": "^4.7",
    "cweagans/composer-patches": "^1.6",
    "wpackagist-plugin/rewrite-rules-inspector": "~1.2",
    "wpackagist-plugin/query-monitor": "^3.2.2",
    "alpipego/toml-config": "^0.1.2",
    "alpipego/awp-assets": "dev-master",
    "alpipego/awp-cache": "dev-master",
    "alpipego/awp-custom": "dev-master",
    "alpipego/awp-di": "dev-master",
    "alpipego/awp-template": "dev-master",
    "alpipego/awp-rtacf": "dev-master",
    "wpackagist-plugin/classic-editor": "^1.6",
    "alpipego/resolve-attachment-path": "dev-master",
    "wpackagist-plugin/blockeditor-fullscreen-mode-control": "^1.3",
    "wpackagist-plugin/block-pattern-builder": "^1.1",
    "wpackagist-plugin/wordpress-seo": "^17.8"
  },
  "extra": {
    "wordpress-install-dir": "public/wp",
    "installer-paths": {
      "public/wp-content/mu-plugins/{$name}/": [
        "type:wordpress-muplugin"
      ],
      "public/wp-content/plugins/{$name}/": [
        "type:wordpress-plugin"
      ],
      "public/wp-content/themes/{$name}/": [
        "type:wordpress-theme"
      ]
    }
  },
  "config": {
    "allow-plugins": {
      "composer/installers": true,
      "cweagans/composer-patches": true,
      "johnpbloch/wordpress-core-installer": true
    }
  }
}

Output of composer diagnose:

Checking composer.json: OK
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com oauth access: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: You are not running the latest stable version, run `composer self-update` to update (2.2.3 => 2.2.4)
Composer version: 2.2.3
PHP version: 7.4.21
PHP binary path: /usr/bin/php7.4
OpenSSL version: OpenSSL 1.1.1l  24 Aug 2021
cURL version: 7.79.1 libz 1.2.11 ssl OpenSSL/1.1.1l
zip: extension present, unzip present, 7-Zip not available

When I run this command:

composer update johnpbloch/wordpress-core

I get the following output:

Running 2.2.3 (2021-12-31 12:18:53) with PHP 7.4.21 on Linux / 5.10.43.3-microsoft-standard-WSL2
Reading ./composer.json (/var/www/wp/app/composer.json)
Loading config file /home/alpipego/.config/composer/auth.json
Loading config file ./composer.json (/var/www/wp/app/composer.json)
Checked CA file /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a file.
Checked directory /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a directory.
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/var/www/wp/app): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/wp/app): git describe --exact-match --tags
Executing command (CWD): git --version
Executing command (/var/www/wp/app): git log --pretty="%H" -n1 HEAD --no-show-signature
Executing command (/var/www/wp/app): hg branch
Executing command (/var/www/wp/app): fossil branch list
Executing command (/var/www/wp/app): fossil tag list
Executing command (/var/www/wp/app): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /home/alpipego/.config/composer/composer.json

Reading /var/www/wp/app/vendor/composer/installed.json
Loading plugin Composer\Installers\Plugin (from composer/installers)
Loading plugin cweagans\Composer\Patches (from cweagans/composer-patches)
Loading plugin johnpbloch\Composer\WordPressCorePlugin (from johnpbloch/wordpress-core-installer)
> pre-update-cmd: cweagans\Composer\Patches->checkPatches
Reading ./composer.lock (/var/www/wp/app/composer.lock)
Loading composer repositories with package information
Executing command (/var/www/wp/app/develop/awp-assets/): git log -n1 --pretty=%H --no-show-signature
Executing command (/var/www/wp/app/develop/awp-assets/): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/wp/app/develop/awp-cache/): git log -n1 --pretty=%H --no-show-signature
Executing command (/var/www/wp/app/develop/awp-cache/): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/wp/app/develop/awp-custom/): git log -n1 --pretty=%H --no-show-signature
Executing command (/var/www/wp/app/develop/awp-custom/): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/wp/app/develop/awp-di/): git log -n1 --pretty=%H --no-show-signature
Executing command (/var/www/wp/app/develop/awp-di/): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/wp/app/develop/awp-rtacf/): git log -n1 --pretty=%H --no-show-signature
Executing command (/var/www/wp/app/develop/awp-rtacf/): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/wp/app/develop/awp-template/): git log -n1 --pretty=%H --no-show-signature
Executing command (/var/www/wp/app/develop/awp-template/): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/wp/app/develop/resizefly/): git log -n1 --pretty=%H --no-show-signature
Executing command (/var/www/wp/app/develop/resizefly/): git branch -a --no-color --no-abbrev -v
Executing command (/var/www/wp/app/develop/wp-resolve-attachment-path/): git log -n1 --pretty=%H --no-show-signature
Executing command (/var/www/wp/app/develop/wp-resolve-attachment-path/): git branch -a --no-color --no-abbrev -v
Reading /home/alpipego/.cache/composer/repo/https---wpackagist.org/packages.json from cache
Downloading https://wpackagist.org/packages.json
[200] https://wpackagist.org/packages.json
Writing /home/alpipego/.cache/composer/repo/https---wpackagist.org/packages.json into cache
Reading /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2011.json from cache
Reading /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2012.json from cache
Reading /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2013.json from cache
Reading /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2014.json from cache
Reading /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2015.json from cache
Reading /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2016.json from cache
Downloading https://wpackagist.org/p/providers-2017%24d07839275ad8e3ecbb40b9f1f7a9bdb31f940267618d6883ca9643ae3e808879.json
[200] https://wpackagist.org/p/providers-2017%24d07839275ad8e3ecbb40b9f1f7a9bdb31f940267618d6883ca9643ae3e808879.json
Writing /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2017.json into cache
Downloading https://wpackagist.org/p/providers-2018%244b74bc89e1e25600e41e65686b6f46188d6109c9ae3fba227610a8fafeba6f96.json
[200] https://wpackagist.org/p/providers-2018%244b74bc89e1e25600e41e65686b6f46188d6109c9ae3fba227610a8fafeba6f96.json
Writing /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2018.json into cache
Downloading https://wpackagist.org/p/providers-2019%24e09670df44119bd02be5c71744037065855870464158e8dbcbba7da20b8af76b.json
[200] https://wpackagist.org/p/providers-2019%24e09670df44119bd02be5c71744037065855870464158e8dbcbba7da20b8af76b.json
Writing /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2019.json into cache
Downloading https://wpackagist.org/p/providers-2020%2496ff05470a0cfdff72e1fe1dd29140968401818d7de17db17c617945bc1cda95.json
[200] https://wpackagist.org/p/providers-2020%2496ff05470a0cfdff72e1fe1dd29140968401818d7de17db17c617945bc1cda95.json
Writing /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2020.json into cache
Downloading https://wpackagist.org/p/providers-2021%24a998965599f600f40b5f88fe710d90533b5a5a2662eb1723d972eae4c8eaefb2.json
[200] https://wpackagist.org/p/providers-2021%24a998965599f600f40b5f88fe710d90533b5a5a2662eb1723d972eae4c8eaefb2.json
Writing /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2021.json into cache
Downloading https://wpackagist.org/p/providers-2022-03%242d47543a0b1c3b51fbfcc60cd31d07958bb8a16508a2c4e76fc33fb99765d409.json
[200] https://wpackagist.org/p/providers-2022-03%242d47543a0b1c3b51fbfcc60cd31d07958bb8a16508a2c4e76fc33fb99765d409.json
Writing /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-2022-03.json into cache
Reading /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-old.json from cache
Downloading https://wpackagist.org/p/providers-this-week%24eb38752a69a7c2a465fe318e85e333316ab9a74a4fd8ef0d694845e71c6265e8.json
[200] https://wpackagist.org/p/providers-this-week%24eb38752a69a7c2a465fe318e85e333316ab9a74a4fd8ef0d694845e71c6265e8.json
Writing /home/alpipego/.cache/composer/repo/https---wpackagist.org/p-providers-this-week.json into cache
Reading /home/alpipego/.cache/composer/repo/https---wp-languages.github.io/packages.json from cache
Downloading https://wp-languages.github.io/packages.json if modified
[304] https://wp-languages.github.io/packages.json
Reading /home/alpipego/.cache/composer/repo/https---wp-languages.github.io/include-all$34614b0458c2ff13900fdc14058b7b1683fa49e1.json from cache
Reading /home/alpipego/.cache/composer/repo/https---repo.packagist.org/packages.json from cache
Downloading https://repo.packagist.org/packages.json if modified
[200] https://repo.packagist.org/packages.json
Writing /home/alpipego/.cache/composer/repo/https---repo.packagist.org/packages.json into cache
Reading /home/alpipego/.cache/composer/repo/https---repo.packagist.org/provider-johnpbloch~wordpress-core.json from cache
Downloading https://repo.packagist.org/p2/johnpbloch/wordpress-core.json if modified
Reading /home/alpipego/.cache/composer/repo/https---repo.packagist.org/provider-johnpbloch~wordpress-core~dev.json from cache
Downloading https://repo.packagist.org/p2/johnpbloch/wordpress-core~dev.json if modified
[304] https://repo.packagist.org/p2/johnpbloch/wordpress-core.json
[304] https://repo.packagist.org/p2/johnpbloch/wordpress-core~dev.json
Updating dependencies
Generating rules
Resolving dependencies through SAT
Looking at all rules.

Dependency resolution completed in 0.000 seconds
Downloading https://repo.packagist.org/p2/alpipego/awp-rtacf.json
Downloading https://repo.packagist.org/p2/alpipego/awp-rtacf~dev.json
[404] https://repo.packagist.org/p2/alpipego/awp-rtacf.json
[404] https://repo.packagist.org/p2/alpipego/awp-rtacf~dev.json
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires alpipego/awp-rtacf dev-master, it is found alpipego/awp-rtacf[dev-master] in the lock file and alpipego/awp-rtacf[dev-stable] from path repo (/var/www/wp/app/develop/*) but it does not match your constraint and is therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one from the lock file.

And I expected this to happen:

Ideally, it would only update the package specified in the update command (johnpbloch/wordpress-core) and not ones that don't share dependencies with the requested package. I understand that @naderman says this is due to the unbound versions/branches.

The message is misleading, however: Make sure you either fix the constraint or avoid updating this package to keep the one from the lock file. The last part is what I'm doing, I'm trying to avoid updating this package. The message should somehow reflect that this is not possible in this case.


I am aware that I can get rid of the message by changing the constraint for alpipego/awp-rtacf from dev-master to dev-stable.

@naderman naderman added the Bug label Jan 13, 2022
@Seldaek Seldaek added this to the 2.2 milestone Jan 21, 2022
@Seldaek
Copy link
Member

Seldaek commented Feb 4, 2022

OK with the fix you get this if it's a path repo package:

- Root composer.json requires foo/bar ^1.0.0, found foo/bar[2.0.0] but it does not match your constraint and is therefore not installable. Make sure you fix the constraint as packages installed from symlinked path repos are updated even in partial updates and the one from the lock file can thus not be used.

And this otherwise (package in lock that you didn't mean to update, but actually was explicitly in the update allowlist)

- Root composer.json requires foo/bar ^1.0.0, found foo/bar[2.0.0] but it does not match your constraint and is therefore not installable. Make sure you either fix the constraint or avoid updating this package to keep the one present in the lock file (foo/bar[1.0.0]).

I hope this is clearer :)

@Seldaek Seldaek closed this as completed in ee36c5e Feb 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants