Je ne comprends pas vraiment comment Composer fonctionne avec le paramètre de stabilité minimale.
J'ai deux paquets. Disons, PackageA
et PackageB
.
Le fichier composer.json
de PackageA
ressemble à ceci:
{
"name": "vendor/packagea",
"minimum-stability": "dev",
"require": {
"vendor/packageb": "dev"
}
}
Donc, PackageA
nécessite PackageB
. Le json de PackageB
ressemble à ceci:
{
"name": "vendor/packageb",
"minimum-stability": "dev"
}
Donc, les deux disent que la stabilité minimale est dev
. Donc, je suppose que quand je le fais:
composer create-project vendor/packagea
Mais ensuite, il se plaint du message:
[InvalidArgumentException]
Could not find package vendor/packagea with stability stable.
Ce que je trouve étrange, car je supposerais que fixer la stabilité minimale à dev
tirerait le paquet de sa branche "développement". Qui dans le cas de github est toujours dev-master
.
J'ai donc essayé de l'installer en indiquant au compositeur quelle branche utiliser:
composer create-project vendor/packagea testFolder dev-master
Mais ensuite, il se plaint de ne pas trouver PackageB
:
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package vendor/packageb dev could not be found.
Alors comment puis-je installer mon paquet? Je suis toujours en train de développer, donc je ne veux pas encore créer de version pour PackageA et PackageB ...
Il y a deux problèmes:
Dans create-project, la commande utilise par défaut la stabilité stable pour rechercher le package à installer. C'est pourquoi elle fonctionne si vous spécifiez dev-master mais pas par défaut. Vous pouvez cependant aussi exécuter composer create-project vendor/packagea -s dev
Après avoir installé des dépendances, je suppose que votre paquet n’existe pas dans une version appelée simplement dev
. Il ne peut donc pas le trouver si vous en avez besoin. Demander à dev-master fonctionnerait probablement, par exemple:
{
"name": "vendor/packagea",
"minimum-stability": "dev",
"require": {
"vendor/packageb": "dev-master"
}
}
Comment ai-je résolu ce problème?
Après avoir installé Composer, exécutez la commande suivante pour installer Composer Asset Plugin:
php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"
Choisissez maintenant l’un des modèles d’application pour commencer l’installation de Yii 2.0. Un modèle d'application est un package contenant un squelette de l'application Web écrit en Yii.