SORU
4 EYLÜL 2010, CUMARTESİ


Toplayıcı farklı platformlar için farklı taşlar kullanın

Raylar için bizim Rayların bir 2.3.8 uygulamalar yükseltme üzerinde çalışıyorum 3, toplayıcı ve dağıtım ile can sıkıcı bir sorun haline çalıştırmak. Windows bir makine üzerinde uygulama geliştiriyorum, ama üretim ortamında Ubuntu Linux çalışıyor. Şimdi, benim sorunum toplayıcı üretim ortamında mysql gem görmezden geliyor ve Yolcu buluyor:"!!! Mysql taş eksik. Senin Gemfile ekleyin:'', '2.8.1" .' mysql gem

İşte benim Gemfile:

# Edit this Gemfile to bundle your application's dependencies.
# This preamble is the current preamble for Rails 3 apps; edit as needed.
source 'http://rubygems.org'

gem 'rails', '3.0.0'
gem 'net-ldap', :require => 'net/ldap'
gem 'highline', :require => 'highline/import'
gem 'mysql', '2.8.1'
gem 'net-ssh', :require => 'net/ssh'

# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
group :development, :test do
  gem 'fakeweb', :require => 'fakeweb'
  gem 'flexmock', :require => 'flexmock/test_unit'
end

Gördüğünüz gibi, mysql gem belirtildi. Dağıtırken ancak, toplayıcı yok sayar. Neden? Nedeni Toplayıcı aşağıdaki Gemfile.lock (sadece ilgili bölümleri dahil) oluşturur

....
mime-types (1.16)
mysql (2.8.1-x86-mingw32)
net-ldap (0.1.1)
....

Platform, belirli bir mücevher içerir dikkat edin. Bu o gem Linux altında çalışan uygun (ve appearently göz ardı) olarak yapmak istediğim şey belli DEĞİL.

, Toplayıcı bu sorunlarla başa çıkmak için bir yol ile geliyor? Veya el ile oluşturulan mysql gem sürümü değiştirmek için hatırlamak zorunda bundle I Gemfile.lock Her zaman benim geliştirme makinede kurarım?

Şimdiden teşekkürler!

Güncelleme

Toplayıcı takımı issue bunun farkında gibi görünüyor.

CEVAP
6 Kasım 2010, CUMARTESİ


Bu known issue in Bundler. Geçici çözümler ya

  • Bir Gemfile oluşturmak.üretim platformu eşleşen sonuçlar veren bir sistem yeterli üretim ortamına benzer bir kilit. Etkili, tek Gemfile oluşturmak anlamına gelir.eğer üretim sistemi Windows ise Windows dosya kilidi.
  • Gemfile bir taahhüt yok.dosyası her kilit ve dağıtmak zaman (bundle install --deploy olmadan) üretim makine bağımlılıkları belirlemek. Genel olarak tavsiye edilmez olsa da, bu hata düzeltildi kadar sık kullanılan bir çözüm olur. Örneğin, bu önerilen çözüm Heroku tarafından sunuluyor.
  • Windows ve Linux (java) üzerinden aynı platform dize olurdu JRuby, geçin. Bu cidden tavsiye etmiyorum, ama sorunu çözmek olacağını düşünüyorum.
  • Toplayıcı sorunu çözmek kaynak kodu, yani, Toplayıcı takımın hatayı düzeltmek yardımcı olur. :)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DudeFromUkraine

    DudeFromUkra

    7 Ocak 2008
  • incognitotraveler

    incognitotra

    27 Mayıs 2010
  • Khan Academy

    Khan Academy

    17 Kasım 2006