Supposons que j'écris une bibliothèque A, qui dépend d'une autre bibliothèque, monolog par exemple.
Je veux installer la dernière version de monolog, je viens donc d'insérer ceci à l'intérieur de composer.json:
{
"require": {
"monolog/monolog": "*.*.*"
}
}
Puis je cours $ php composer.phar install
.
Je m'attendais à trouver la version installée à l'intérieur de composer.lock, mais ce n'est pas là:
{
"hash": "d7bcc4fe544b4ef7561918a8fc6ce009",
"packages": [
{
"package": "monolog/monolog",
"version": "dev-master",
"source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7"
}
],
"packages-dev": null,
"aliases": [
],
"minimum-stability": "dev",
"stability-flags": [
]
}
J'ai besoin de la version parce que je veux lier ma bibliothèque à un ensemble spécifique de versions, par exemple: Si je trouve la version 1.3.5, dans mon composer.json, j'aimerais mettre quelque chose comme ceci:
"require": {
"monolog/monolog": "1.3.*"
}
Des idées?
Je sais que c'est une vieille question, mais ...
composer.phar show
Affiche tous les packages actuellement installés et leurs informations de version. (Ceci était indiqué dans les versions précédentes de Composer uniquement lors de l'utilisation de l'option -i
Maintenant dépréciée.)
Pour plus de détails, spécifiez également le nom du paquet:
composer.phar show monolog/monolog
Cela montrera beaucoup de choses, y compris le hachage MD5 de commit, l'URL source, le type de licence, etc.
Vous pouvez utiliser composer comme ceci:
composer show package/name
Si vous souhaitez simplement obtenir le résultat sous forme de numéro de version du package, comme: 1.7.5 ou 1.x-dev ou dev-master =.
Extrait de la console Linux:
composer show 'monolog/monolog' | grep 'versions' | grep -o -E '\*\ .+' | cut -d' ' -f2 | cut -d',' -f1;
C'est une question très ancienne, mais en ajoutant une réponse pour que cela puisse aider quelqu'un, vous pouvez aussi le vérifier en ligne en téléchargeant le fichier composer.josn et composer.lock
J'espère que cela peut aider quelqu'un.
Techniquement "dev-master" est la version exacte que vous avez utilisée ici. C'est la branche de développement, et donc la toute dernière version.
Le meilleur endroit pour rechercher les versions disponibles pour composer packages est Packagist puisque c'est l'endroit composer charge les versions à partir de l'installation Les versions de monolog sont listées sur http://packagist.org/packages/monolog/monolog .
Peut-être utile pour les développeurs Laravel, si vous voulez trouver laravel/framework
version.composer show laravel/framework
pourrait retourner une liste énorme avec d’autres dépendances, comme
name : laravel/framework
...
versions : * v5.7.27
...
autoload
...
requires
...
requires (dev)
...
suggests
...
conflicts
...
replaces
...
Alors, utilisez composer show laravel/f*
au lieu.f*
pattern recherchera tous les paquets en commençant par "f".
Résultat laravel/framework v5.7.27 The Laravel Framework.