Composer kullanarak paketin belirli bir sürümünü nasıl kurabilirim?


Yanıtlar:



110

Sürüm numarasında düzeltme operatörünü kullanmak için çift tırnak ekleyin.

composer require middlewares/whoops "^0.4"

3
Paket adını ve sürümünü iki ayrı argüman olarak aktarabileceğiniz bir nokta görmüyorum .
x-yuri

1
@ x-yuri geçen paket adı ve sürümünü ayrı ayrı argümanlar olarak besteci 1.5.1 kullanarak benim için çalışıyor
bryonbean

Teknik olarak bu OP'nin sorusunun "doğru" cevabı olmasa da, bu muhtemelen çoğu insan için daha yararlıdır.
Rich Court

19

sadece php composer.phar kullanın

Örneğin :

php composer.phar require doctrine/mongodb-odm-bundle 3.0

Kurulum ile de mevcuttur.

https://getcomposer.org/doc/03-cli.md#require https://getcomposer.org/doc/03-cli.md#install


Kayıt için, özel kısıtlamalar ekleyerek olduğu değil mevcuttur install- Yalnızca ile require. Belirli bir sürüme geçmeyi ve composer.lockdosyanızı iade etmeyi umuyorsanız , bunu yapabilirsiniz, ancak composer requiredeğişikliği daha composer.jsonsonra kullanmanız ve daha sonra geri almanız gerekir .
mindplay.dk

Ayrı bir argüman olarak sürüm? Hiç mevcut muydu?
x-yuri

10

@ Alucic belirtildiği gibi kullanın:

composer require vendor/package:version

veya şunları kullanabilirsiniz:

composer update vendor/package:version

Büyük olasılıkla bu StackOverflow yayınını besteci yüklemesi ve besteci güncellemesi arasındaki farklar hakkında incelemelisiniz .

Sürüm numaraları hakkındaki soru ile ilgili olarak , sürümlerdeki Composer dokümanlarını inceleyebilirsiniz , ancak kısaca burada:

  • Tilde Sürüm Aralığı ( ~ ) - ~ 1.2.3, = 1.2.3'e eşittir < 1.3.0
  • Düzeltme Sürümü Sürüm Aralığı ( ^ ) - ^ 1.2.3,> = 1.2.3 < 2.0.0'a eşittir

Yani, Tilde ile yamaların otomatik güncellemelerini alacaksınız, ancak küçük ve büyük sürümler güncellenmeyecek. Ancak, Caret'i kullanırsanız yamalar ve küçük sürümler alırsınız, ancak büyük (değişiklikleri bozan) sürümler almazsınız.

Tilde Sürümü "daha güvenli" bir yaklaşım olarak kabul edilir, ancak güvenilir bağımlılıklar (bakımlı kütüphaneler) kullanıyorsanız, Caret Sürümü ile ilgili herhangi bir sorun yaşamamanız gerekir (çünkü küçük değişiklikler değişiklikleri bozmamalıdır.


5

Laravel Collective'i kurmak istediğinizi varsayalım. Şu anda 6.x sürümünde, ancak 5.8 sürümünü istiyorsunuz. Aşağıdaki komutu çalıştırabilirsiniz:

composer require "laravelcollective/html":"^5.8.0"

Belgede iyi bir örnek gösterilmektedir: https://laravelcollective.com/docs/5.5/html


0

Gözlerinde farklı composer.json, sen koyabilirsiniz:

{
    "require": {
        "vendor/package": "version"
    }
}

composer installveya composer updateiçeren dizinden çalıştırın composer.json. Bazen, benim için besteci hinky, bu yüzden taze şeyler aldığından emin olmak için daha composer clear-cache; rm -rf vendor; rm composer.lockönce başlayacağım composer install.


Tabii ki, diğer cevapların işaret ettiği gibi, terminalden aşağıdakileri çalıştırabilirsiniz:

composer require vendor/package:version

Ve versiyonlama üzerine:
- Bestecinin resmi versiyonları makalesi
- Ecosia Search

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.