Paketleyiciyle yalnızca bir mücevher güncelleme


233

Benim raylar app bağımlılıkları yönetmek için bundler kullanın ve ben aşağıdaki gibi dahil bir git depoda barındırılan bir mücevher var:

gem 'gem-name', :git => 'path/to/my/gem.git'

Bu gem güncellemek için yürütmek bundle updateama aynı zamanda Gemfile belirtilen tüm gem güncelleştirir. Peki, sadece bir tanesini güncelleme komutu nedir?

Yanıtlar:


354

Burada arasındaki fark hakkında iyi bir açıklama bulabilirsiniz

Hem değerli taş hem de bağımlılıkları güncelleyin:

bundle update gem-name 

veya

Yalnızca mücevherleri güncelleyin:

bundle update --source gem-name

olası yan etkilerin bazı güzel örnekleriyle birlikte.

Güncelleme

@ Tim'in cevabının dediği gibi Bundler 1.14'ten itibaren bunun resmi olarak desteklenen yolu budur bundle update --conservative gem-name.


19
Dikkatli olun, "değerli taş ve bağımlılıkların güncellenmesi" bir bağımlılıksa ve muhtemelen bunu istemiyorsanız rayların kendisini güncellemek demektir. --source sadece parametre olarak belirtilen cevheri güncelleyecektir. Bu yüzden çoğu durumda daha iyidir.
— 1.44mb

sürüm nasıl belirtilir?
— Oshan Wisumperuma

1
@OshanWisumperuma Bu paket komutlarını çalıştırmadan önce sürümü Gemfile veya muhtemelen Gemfile.lock olarak belirtin
— Harry Wood

185

Bunu yapmanın yolu aşağıdaki komutu çalıştırmaktır:

bundle update --source gem-name

3
Bu tam olarak ne gerekli, ben özel bir mücevher var ve sadece özel mücevher bazı değişiklikler yaptıktan sonra bağımlılıkları güncelleme olmadan gem kendini güncelleştirmek gerekir.
— Ben bir kurbağa ejderhayım

30

Görünüşe göre paketleyicinin daha yeni sürümleri (> = 1.14):

bundle update --conservative gem-name

not: Bu komut bağımlılık olmadan bir mücevher güncelleyecektir
— mmike

24

Komut satırında gem adını belirtmeniz yeterlidir:

bundle update gem-name

1
Garip. Öyle bundle help updatediyor. Hangi paketleyiciyi kullanıyorsunuz?
— Brandan

40
bundle update gem-namegem ve "bağımlılıklarından herhangi birini" güncelleyecektir.
— yaka

5

bundle update gem-name [--major|--patch|--minor]

Bu aynı zamanda bağımlılıklar için de geçerlidir.


1
Belirli bir sürüme güncellemenin bir yolu var mı? --major, --minorVe --patchbayraklar otomatik olarak en son mümkün sürüme yükseltin.
— user2490003

2

Ben kullandım bundle update --sourceuzun zamandır kendimi ama çalışmıyor senaryo vardır. Neyse ki, bundler-patchbu eksikliği gidermek amacı olan bir mücevher var .

Ayrıca nasıl kullanılacağı ve neden sürekli çalışmadığı hakkında kısa bir blog yazısı yazdım . Ayrıca, kontrol etmeyi unutmayın bir yazı neyi ayrıntılı olarak açıklar chrismo tarafından seçeneği yok.bundler-patchbundle update --source--source


0

bundler update --source gem-name Gemfile.lock dosyasındaki revizyon karmasını, git git dalının son kesin karmasıyla karşılaştırabilirsiniz (varsayılan olarak ana).

GIT remote: git@github.com:organization/repo-name.git revision: c810f4a29547b60ca8106b7a6b9a9532c392c954

bulunabilir github.com/organization/repo-name/commits/c810f4a2(kullandığım stenografi 8 karakter url için karma taahhüt)

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.