composer / composer

Dependency Manager for PHP
https://getcomposer.org/
MIT License
28.61k stars 4.55k forks source link

Problem with dev-master #11491

Closed aliqasemzadeh closed 1 year ago

aliqasemzadeh commented 1 year ago

Hi I have to package with the name aliqasemzadeh/livewire-bootstrap-modal and aliqasemzadeh/jetadmin when I try `composer require aliqasemzadeh/jetadmin' in clean project I get:

Problem 1
    - Root composer.json requires aliqasemzadeh/jetadmin dev-master -> satisfiable by aliqasemzadeh/jetadmin[dev-master].
    - aliqasemzadeh/jetadmin dev-master requires aliqasemzadeh/livewire-bootstrap-modal dev-master -> found aliqasemzadeh/livewire-bootstrap-modal[dev-master] but it does not match your minimum-stability.

what is my problem? All package has public repository and you check them in my github.

fredden commented 1 year ago

Looking at https://packagist.org/packages/aliqasemzadeh/livewire-bootstrap-modal and https://packagist.org/packages/aliqasemzadeh/jetadmin, neither package has any released versions. The problem is identified by this text in the output you quoted: "it does not match your minimum-stability." You should either specify a lower minimum-stability, or release actual versions of these packages. I recommend using semantic versioning where feasible.

References:

aliqasemzadeh commented 1 year ago

@fredden Now I get:

  Problem 1
    - Root composer.json requires aliqasemzadeh/jetadmin * -> satisfiable by aliqasemzadeh/jetadmin[V1].
    - aliqasemzadeh/jetadmin V1 requires aliqasemzadeh/livewire-bootstrap-modal dev-master -> found aliqasemzadeh/livewire-bootstrap-modal[dev-master] but it does not match your minimum-stability.

You can also try re-running composer require with an explicit version constraint, e.g. "composer require aliqasemzadeh/jetadmin:*" to figure out if any version is installable, or "composer require aliqasemzadeh/jetadmin:^2.1" if you know which you need.

I really don't know why this happen.

fredden commented 1 year ago

@aliqasemzadeh I can see you're experimenting with version constraints in your packages. You can see the current problem by running composer validate on your package.

For reference, the current error I see is:

Could not parse version constraint ^1.*: Invalid version string "^1.*"  
aliqasemzadeh commented 1 year ago

@fredden
I change all versions to "*" and now it works well. Does it make any problem in future?

fredden commented 1 year ago

I think the Composer documentation explains the problem with using unbound constraints such as * fairly well:

Note: Be careful when using unbounded ranges as you might end up unexpectedly installing versions that break backwards compatibility. Consider using the caret operator instead for safety.

Reference: https://getcomposer.org/doc/articles/versions.md#version-range

Edit: Update - there's a dedicated page about it here: https://getcomposer.org/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md

aliqasemzadeh commented 1 year ago

But I want to work with all version and user don't need to update every time.