2012-12-25 16 views
12

Ruby newb burada.Gemfile.lock, Windows üzerinde kaynak kontrolü yapmaya karar vermeli mi?

rubyinstaller ile ruby'yi indirdim, gem install rails yaptım, birkaç eksik kitaplığı çözdüm ve sonunda çalışmak istediğim ruby project'u çatallıyorum. herhangi bir şeye dokunmadan önce

, benim Gemfile.lock modifiye görüyoruz:

diff --git a/Gemfile.lock b/Gemfile.lock 
index aefda68..9ebccba 100644 
--- a/Gemfile.lock 
+++ b/Gemfile.lock 
@@ -46,6 +46,7 @@ GEM 
    diff-lcs (1.1.3) 
    erubis (2.7.0) 
    eventmachine (1.0.0) 
+ eventmachine (1.0.0-x86-mingw32) 
    execjs (1.4.0) 
     multi_json (~> 1.0) 
    hike (1.2.1) 
@@ -65,11 +66,17 @@ GEM 
    multi_json (1.3.6) 
    multi_xml (0.2.2) 
    pg (0.14.1) 
+ pg (0.14.1-x86-mingw32) 
    polyglot (0.3.3) 

... 

PLATFORMS 
    ruby 
+ x86-mingw32 

tüm modifiye hatları, Windows ilgili olduğu görülüyor. This answer Gemfile.lock (zaten zaten klonlanmış repo için kararlıdır) gitignore olmamalıdır belirtmek gibi görünüyor. This answer, &'u (eğer uygulamamın Windows'a özgü dosyalara bağlı olmasını istemediğimden) mantığa ittiğimde hata yapabilirim.

Peki, hangisi? Nasıl düzeltmeliyim? Gemfile.lock'umu repo'mdan silmeli miyim?

+1

GEmfile, http://qastuffs.blogspot.com/2011/02/how-to-configure-gemfile-for-windows.html?m=1 – house9

cevap

1

Son kez bir Windows Gemfile.lock ile Heroku'ya itildim ve oldukça zarif bir şekilde ele aldım. Başarısız olup olmadığını ve Gemfile.lock'u yeniden oluşturduğunu veya sadece ikili mücevher etiketlerini çıkardığını hatırlamıyorum.

Gördüğüm 2 geçerli seçenek var.
Bu davranışta bir sorun olmayacağını varsayalım. Hangi sıkı mücevher sürüm gereksinimleri veya bundle güncelleme ve her şeyi itmeden önce çalıştığını onaylamak anlamına gelir.

Başka bir :platform flag in your Gemfile kullanmaktır. Bunu tavsiye etmeyeceğim, ancak kaynağı aşağı doğru zorlamalı ve gemiyi yerel olarak derlemelidir. Bunun anlamı, dış bağımlılıkların mevcut olması gerektiği anlamına gelir. Bir çok ikili mücevherle (pg gem gibi) bu kolay bir iş değildir. Diğer bazı taşlar ile neredeyse imkansız olabilir. Bir kez daha, bunu yapmamanızı tavsiye etmem.

+0

'daki platformları denemek isteyebilirim. Değişikliklerden kaçınmak istiyorum gemfile. Keşke yaptığım projeye bir çekme talebi göndermeyi denedim, ancak sonradan gemfile yanlışlıkla kazandığımı öğrendim. Sorunlara neden olmamasına rağmen, gemfile-modifikasyonu kesinlikle onlara geri itmeye çalıştığım şeyin bir parçası değildir. Bu seçeneklerden herhangi biri çalışır mı? Her ikisi de gemfile bazı değişiklikler gerektiriyor gibi görünüyor. – ripper234

+0

Maalesef, uygulamanızı bir linux ortamına dağıtırken 'Gemfile.lock'un etkilerinin ne olduğu sorusu vardı. – Azolo

+0

[Çekme isteği] 'ne baktım (https://github.com/lockitron/selfstarter/pull/22) Konuştuğunuzu farz ediyorum. "Gözetleme" bağımlılığını eklediğinize ve "Gemfile.lock" u değiştirdiğinize benziyor. İronik olarak, 'Gemfile' değişikliklerini sadece 'Gemfile.lock' değiştirmediniz. = P Ben sadece geri dönmek ve değişiklik 'yanlışlıkla oldu yana' Gemfile.lock 'değişiklikleri bültenleri kaldırmak istiyorum. – Azolo