web-dev-qa-db-ja.com

作曲家:パッケージの正確なバージョンを見つける方法

別のライブラリ、たとえば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.*"
    }

何か案は?

84
HappyDeveloper

私はそれが古い質問であることを知っていますが、...

composer.phar show

現在インストールされているすべてのパッケージとそのバージョン情報を表示します。 (これは、以前のバージョンのComposerで廃止された-iオプション。

詳細を表示するには、パッケージの名前も指定します。

composer.phar show monolog/monolog

これは、コミットMD5ハッシュ、ソースURL、ライセンスタイプなどを含む多くのものを表示します。

144
Ross Deane

composer showを次のように使用できます。

composer show package/name
27
Kévin Ferradj

1.7.5または1.x-devまたはdev-masterのようなパッケージバージョン番号として出力を取得したいだけの場合=。

Linuxコンソールスニペット:

composer show 'monolog/monolog' | grep 'versions' | grep -o -E '\*\ .+' | cut -d' ' -f2 | cut -d',' -f1;
6
Jimmix

非常に古い質問ですが、回答を追加して誰かを助けることができます。composer.josnおよびcomposer.lockファイルをアップロードしてオンラインで確認することもできます

http://www.drcomposer.com

これが誰かを助けることを願っています。

2
Yogesh Salvi

技術的には、「dev-master」は、そこで使用することになった正確なバージョンです。これは開発ブランチであり、したがって最新バージョンです。

composerパッケージの利用可能なバージョンを探すのに最適な場所は、 Packagist です。これは、composer_がパッケージをインストールするときにバージョンをロードする場所だからです。 monologバージョンは http://packagist.org/packages/monolog/monolog にリストされています。

2
naderman

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.

1
Tarasovych