tobbexiv / pagekit-transifex-fetcher

Fetch translations for your pagekit extensions easily from transifex.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Installation from marketplace fails

ahoiroman opened this issue · comments

On installing this extension from marketplace I am getting this error:

Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

I guess it is related to https://pagekit-forum.org/forum/thread/69-pitfall-your-requirements-could-not-be-resolved-to-an-installable-set-of-package/ .

Might be as guzzle also has some requirements. I'd assume that I have to resolve chains until there is no required pacakge left, is this correct?

Right. Malte told me that you can just add all requirements that are not resolved recursively by Pagekit in this case to your composer.json. If you upload this to the marketplace everything works fine (I can confirm that). What I did not try yet: Malte said that the next release would be installable without adding all those requirements, because the marketplace "knows about" those requirements and resolves them correctly (I did not try this yet).

In fact this is a problem with the marketplace - my hint is just a workaround.

Which marketplace stores the requirements? I'd assume the one on my own server and then it will not work for other users installing the extension after I again remove the dependencies. If it is stored on the pagekit server and I remove dependencies I'd assume that this should also be reflected and not cached. Therefore I think I will keep them until the root cause is fixed.

I debugged a little bit. It seems that there is a difference between uploading a package and installing it from the pagekit marketplace. If you upload a package the flag to access packagist is set and thus dependencies are loaded also from packagist. In case of installation from the pagekit marketplace packagist is not allowed and required packages are installed with the marketplace as proxy (this is needed as otherwise name clashes could occur and the user installs a package from packagist instead of the pagekit marketplace). So the caching takes place in the pagekit marketplace and not the local installation. So it really might be safe to remove the dependencies as soon as they were cached once, but it should also be no issue if they are kept until the root cause is fixed.