SORU
13 ŞUBAT 2012, PAZARTESİ


Benim Gemfile tam sürüm belirtmek gerekir mi?

Rubygems.org üzerinde taşlar bir sürü tam sürüm yerine sürüm bunları belirtmek önermek fark ettim. Örnek...

The haml-rails gem...

gem "haml-rails", "~> 0.3.4"  # "$ bundle install" will acquire the 
                              # latest version before 1.0.

Ancak, Bundler docs göre daha iyi bu şekilde tam sürüm nas? l olacak bana öyle geliyordu...

gem "haml-rails", "0.3.4"

Haml-raylar gem ve tüm bağımlılıklarından ileri drift olmaz işte. Farklı bir makine, bir kaç hafta sonra proje kontrol ve $ bundle install çalıştırırsanız tam olarak belirttiğiniz her şeyi aynı sürüm olacak.

Nokta bültenleri şarabı gördüm, ve düşündüm oldu Toplayıcı fikrine parçası "Bundle.lock" tüm gem sürümlerini.

Ama rubygems.org kullandıkları "~>" belki de ben bir şey eksik o kadar çok mu?

Herhangi bir açıklama anlama Toplayıcı ve gem yönetimi bana çok yardımcı olurdu.

CEVAP
13 ŞUBAT 2012, PAZARTESİ


Bu Gemfile amacı da budur.dosya - bir Gemfile bundle install çalıştırma kilidi.kilit sadece yükler bağımlılıklar orada yer kullanarak mevcut; yeniden çözmek Gemfile değil. Bağımlılıklar update / gem sürümleri güncellemek için, daha sonra açıkça yapmak zorunda sizin Gemfile güncelleme bundle update,.dosya kilidi.

Bir Gemfile olmasaydı.kilit, üretim için kod dağıtma bahsettiğin gibi, bağımlılıkları ve mücevher sürümleri değişebilir çünkü büyük bir sorun olurdu.

Kısacası, genel olarak güvenli rubygems.org tavsiye olarak karamsar sürüm kısıtlaması operatörü (~>) kullanıyor olmalıdır. Sadece bundle update bir şey keser emin olmak için yapın, sonra yeniden çalıştırın testlerinizi emin olun.

Gemfile biraz daha Bilgi olan Yehuda nice article Katz var.kilit.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • William Hyde

    William Hyde

    23 HAZİRAN 2008
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011