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/
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"
}
}