別のライブラリ、たとえばmonologに依存するライブラリAを作成しているとします。
Monologの最新バージョンをインストールしたいので、これをcomposer.jsonに入れます。
{
"require": {
"monolog/monolog": "*.*.*"
}
}
次に、$ php composer.phar install
。
Composer.lock内にインストールされているバージョンを見つけることを期待していましたが、そこにはありません:
{
"hash": "d7bcc4fe544b4ef7561918a8fc6ce009",
"packages": [
{
"package": "monolog/monolog",
"version": "dev-master",
"source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7"
}
],
"packages-dev": null,
"aliases": [
],
"minimum-stability": "dev",
"stability-flags": [
]
}
ライブラリを特定のバージョンセットに結び付けたいため、バージョンが必要です。たとえば、バージョンが1.3.5であることがわかった場合、composer.jsonに次のように配置します。
"require": {
"monolog/monolog": "1.3.*"
}
何か案は?
私はそれが古い質問であることを知っていますが、...
composer.phar show
現在インストールされているすべてのパッケージとそのバージョン情報を表示します。 (これは、以前のバージョンのComposerで廃止された-i
オプション。
詳細を表示するには、パッケージの名前も指定します。
composer.phar show monolog/monolog
これは、コミットMD5ハッシュ、ソースURL、ライセンスタイプなどを含む多くのものを表示します。
composer showを次のように使用できます。
composer show package/name
1.7.5または1.x-devまたはdev-masterのようなパッケージバージョン番号として出力を取得したいだけの場合=。
Linuxコンソールスニペット:
composer show 'monolog/monolog' | grep 'versions' | grep -o -E '\*\ .+' | cut -d' ' -f2 | cut -d',' -f1;
非常に古い質問ですが、回答を追加して誰かを助けることができます。composer.josnおよびcomposer.lockファイルをアップロードしてオンラインで確認することもできます
これが誰かを助けることを願っています。
技術的には、「dev-master」は、そこで使用することになった正確なバージョンです。これは開発ブランチであり、したがって最新バージョンです。
composerパッケージの利用可能なバージョンを探すのに最適な場所は、 Packagist です。これは、composer_がパッケージをインストールするときにバージョンをロードする場所だからです。 monologバージョンは http://packagist.org/packages/monolog/monolog にリストされています。
laravel/framework
バージョンを見つけたい場合、Laravel開発者に役立つかもしれません。composer show laravel/framework
は、次のような他の依存関係を持つ巨大なリストを返す場合があります
name : laravel/framework
...
versions : * v5.7.27
...
autoload
...
requires
...
requires (dev)
...
suggests
...
conflicts
...
replaces
...
したがって、代わりにcomposer show laravel/f*
を使用してください。f*
パターンは、「f」で始まるすべてのパッケージを検索します。
結果laravel/framework v5.7.27 The Laravel Framework.