2011-04-03 11 views
9

Ben oluşturulan bir Raylar 3.0.0 projesi için bundle update kullanarak çalıştı raylar 3.0.5 ...Neden "paket güncellemesi", Gemfile Rails 3.0.5'i kullanacak şekilde güncellenmiyor?

yansıtmak için Gemfile (ve ayrıca Gemfile.lock) tüm içeriği bekliyor Ama 3.0.0 olmaya devam .. bundle update rails çalıştırmasa bile, hala 3.0.0

devam ediyor Merak ediyorum, yeni bir Rails 3.0.0 projesi oluşturdum ve daha sonra paket güncelleştirmesini çalıştırdım ... ve yine de diyor " 3.0.0 "rayları neden? Ve bundle update güncellemesi 3.0.5'e nasıl yapılır? (Elle Gemfile değiştirmeye bariz bir şekilde başka)

(3.0.5 yerine sqlite3 kullanmak gibi görünüyor, çünkü ben bile, Gemfile içinde sqlite3 için sqlite3-ruby değişen çalıştı. Ve rails ve sqlite3 listelenen sadece 2 taşlar vardır Gemfile)

cevap

12

Zaten cevabı aldınız: mücevher sürümünü elle değiştirin ve bundle update rails'u çalıştırın.

Gemfile'ınızda gem 'rails', '3.0.0' olduğundan şüpheleniyorum. Belirtilen tam sürüme sahipseniz, bundle update rails'un çalıştırılması sürümü değiştirmeyecektir.

Gemfile öğenizdeki mücevher sürümlerini belirtmenin farklı yolları hakkında bazı bilgiler.

http://gembundler.com/rationale.html

+0

Bu yüzden cevabınız, Gemfile '3.0.0' 'tam sürümünü kullanmak anlamına gelir. Eğer "paket güncellemesi" kullanıldığında en yenisini güncellemek istiyorsam, bunun tavsiye edilip edilmediğini bilmeme rağmen '> 3.0.0 '' ı kullanın, ancak projeyi en yeni rayları kullanarak tutar. –

13

Evet muhtemelen (... 3.0.5 & 3.0.6) Bu yalnızca rayların küçük versiyonlarını yükseltir

gem 'rails', '3.0.0' 

değişiklik,

gem 'rails', '~>3.0.0' 

zorunda . Yoksa

gem 'rails', '~>3.0' 

3.1'e raylar yükseltmek istiyorsanız ancak 4,0

1

Google'da "bundler alışkanlık güncelleme" ararken üst sonucun biridir yüzden ekliyorum değil değiştirebilirsiniz başka bir cevap olarak takip ediyor. Projelerimden birinde bu konuyla karşı karşıya kaldım.

BUNDLE_FROZEN: "1" 

Bu, hiçbir etkiye sahip bundle update <gemname> neden oldu:

benim projelerden biri ben aşağıdaki satırı vardı .bundle/config dosya vardı. Yukarıdaki satırı kaldırdım ve tekrar güncellemeye başladı.

+0

haklısınız, bu ihtimallerden biri olabilir. – Aamir

İlgili konular