phpcomposer-phpsatis

How to pick only specific versions to build inside my satis project?


I didn't know that satis would install all the versions of the packages inside it so basically this is my satis.json file

{
    "name"  :"offline-packages/satis-packages",
    "description":"Offline Packages Generator",
    "homepage": "https://localhost:3200",
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/akaunting/money.git"
        },
        {
            "type": "vcs",
            "url": "https://github.com/beyondcode/laravel-confirm-email.git"
        },
        // ...  more repositories here
        {
            "type": "vcs",
            "url": "https://github.com/webpatser/laravel-countries.git"
        }],
    "require-all": true,
    "require-dependencies": true,
    "require-dev-dependencies": true,
    "archive": {
        "directory": "dist"
    }
}

But what I want is to install only specific versions based on what is higher than a specific version and not all of them before I build it with

php bin/satis build satis.json web/

Solution

  • You have specified require-all: true.

    If you do not want to require all, but to pick specific versions, you need to add the appropriate require key in your configuration.

    From the docs:

    If you want to cherry pick which packages you want, you can list all the packages you want to have in your satis repository inside the classic composer require key, using a "*" constraint to make sure all versions are selected, or another constraint if you want really specific versions.

    The example they provide in the docs should be clear enough:

    {
      "repositories": [
        { "type": "vcs", "url": "https://github.com/mycompany/privaterepo" },
        { "type": "vcs", "url": "http://svn.example.org/private/repo" },
        { "type": "vcs", "url": "https://github.com/mycompany/privaterepo2" }
      ],
      "require": {
        "company/package": "*",
        "company/package2": "*",
        "company/package3": "2.0.0"
      }
    }