composer: Bir paketin tam sürümünü nasıl bulabilirim?


105

Diyelim ki başka bir kitaplığa, örneğin monolog'a bağlı olan bir kitaplık A yazıyorum.

Monolog'un en son sürümünü yüklemek istiyorum, bu yüzden bunu composer.json'a koyuyorum:

{
    "require": {
        "monolog/monolog": "*.*.*"
    }
}

Sonra koşarım $ php composer.phar install.

Composer.lock içinde kurulu sürümü bulmayı bekliyordum, ancak orada değil:

{
    "hash": "d7bcc4fe544b4ef7561918a8fc6ce009",
    "packages": [
        {
            "package": "monolog/monolog",
            "version": "dev-master",
            "source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7"
        }
    ],
    "packages-dev": null,
    "aliases": [

    ],
    "minimum-stability": "dev",
    "stability-flags": [

    ]
}

Versiyona ihtiyacım var çünkü kütüphanemi belirli bir versiyon setine bağlamak istiyorum, örneğin: Versiyonun 1.3.5 olduğunu görürsem, composer.json dosyamda şöyle bir şey koymak istiyorum:

    "require": {
        "monolog/monolog": "1.3.*"
    }

Herhangi bir fikir?

Yanıtlar:


174

Bunun eski bir soru olduğunu biliyorum, ama ...

composer.phar show

Şu anda kurulu olan tüm paketleri ve bunların sürüm bilgilerini gösterecektir. (Bu, Composer'ın önceki sürümlerinde yalnızca artık kullanımdan kaldırılan -iseçeneği kullanırken gösteriliyordu.)

Daha fazla ayrıntı görmek için paketin adını da belirtin:

composer.phar show monolog/monolog

Bu, MD5 hash'i, kaynak URL'si, lisans türü vb. Dahil olmak üzere birçok şeyi gösterecektir.


11
php composer.phar show -ave php composer.phar show package/nameayrıca faydalıdır.
bishop

1
İçin dev-masterde karma işlemek göstermesi nedeniyle paketleri, bu yararlıdır. Bu nedenle, GitHub'a gitmeniz, bu commit karmasını bulmanız, tarihi kontrol etmeniz ve ardından hangi "sürümü" kullandığınızı gerçekten öğrenmek için ondan önceki en yakın tarihi bulmanız gerekiyor
andrewtweber

2
composer.lock dosyasında da bulunabilir.
Hafiz


14

Çıktıyı paket sürüm numarası olarak almakla ilgileniyorsanız: 1.7.5 veya 1.x-dev veya dev-master .

Linux konsol pasajı:

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


2

Tümünü göster seçeneğini kullanabilirsiniz, özellikle package.json dosyasına sahip olmadığınızda, packagist.org'dan mevcut paketleri alın:

composer show "monolog/monolog" --all

Ayrıca sürümleri de belirtebilirsiniz

composer show "monolog/monolog" 1.* --all
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.