RVM ile bir proje gemset ayarlamak için rvmrc veya ruby ​​sürümü dosya kullanın?


230

Her Rails projem için bir Ruby sürümü ve bir dizi mücevher belirlemek için Ruby Version Manager RVM'yi kullanıyorum .

Bir var .rvmrcotomatik olarak her bir Ruby sürümü ve gemset seçmek için Dosya cdbir proje dizine.

RVM 1.19.0'ı yükledikten sonra bir mesaj alıyorum

Kullanıyorsunuz .rvmrcbuna yavaştır, güvenen gerektirir ve bunu geçiş yapabilirsiniz, diğer yakut yöneticileri ile uyumlu değildir, .ruby-versionkullanan rvm rvmrc to [.]ruby-versionveya bu uyarıları görmezden rvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc, .rvmrcgörmezden, RVM 1 ve RVM 2 varsayılan proje dosyası olmaya devam edecektir tüm dosyalar için uyarı rvm rvmrc warning ignore all.rvmrcs.

Dosyamı kullanmaya devam etmeli miyim .rvmrcyoksa bir .ruby-versiondosyaya geçmeli miyim ? Hangisi optimal? Sonuçlar nelerdir?

Yanıtlar:


372

Senin Eğer .rvmrcdosya özel kabuk kodu içeren, kullanmaya devam .rvmrcKendini daha kabuk kod eklemek için izin verdiği.

Tek amacınız Ruby sürümlerini .ruby-versiondeğiştirmekse, rbenv veya chruby gibi diğer Ruby sürüm değiştiricileri tarafından desteklenenleri kullanın . Bu dosya ayrıca yalnızca Ruby sürümünün adı olduğundan ve hiçbir şekilde yürütülmeyeceğinden güvenilmeyi gerektirmez.

Kullanırsanız dosyaya .ruby-versiondahil edebilirsiniz, @gemsetancak bu diğer anahtarlayıcılarla uyumlu değildir. Uyumluluğu korumak için, değerli taş adını .ruby-gemsetdiğer araçlar tarafından yok sayılan ayrı bir dosyada kullanın (yalnızca birlikte çalışır .ruby-version) .

Örneğin, basit bir öğeniz varsa .rvmrc:

rvm use 1.9.3@my-app

Şu biçime dönüştürülebilir .ruby-version:

1.9.3

Ve .ruby-gemset:

my-app

.rvmrcDiğer proje yapılandırma dosyalarına göre öncelikli olduğundan dosyayı kaldırdığınızdan emin olun :

rm .rvmrc

9
Tüm uygulamaların henüz yeni .ruby sürümü ve .ruby-gemset dosyalarını desteklemediğini, yalnızca .rvmrc'yi desteklediğini unutmayın. (Özellikle RubyMine). Bu elbette yeni sisteme geçip geçmeme seçiminizi etkileyecektir. Bunu takip etmem çok zaman aldığı için bunu zaten bir cevapta belirtmiştim. Ancak cevabım bir nedenden dolayı kaldırıldı ..
Giorgio

2
Bununla ilgili herhangi bir "resmi" belgeye bağlantı var mı? Bu nasıl RVM sitesinde çalışır içine bakarak başladı ama sadece yeni rvmrc dosyası olarak bazı belirsiz söz bulundu ama bu nasıl çalışması gerektiği hakkında hiçbir şey bulunamadı.
eirc

2
Tam olarak belgelenmemiştir, ancak işte zaten rvm.io/workflow/projects/#ruby-versions
mpapis

4
1.9.3-p194'ü .ruby sürümüne benim için çalışmaz. Yukarıdaki belgeye bakın rvm --create --ruby-version use 1.9.3-p194, işi yapın ve içindeki içerik aslındaruby-1.9.3-p194
Jinzhao Huo

2
RubyMine'nin şu anki sürümleri .ruby sürüm stilini destekliyor. 6.3.2 ile onaylayabilir
BeepDog

76

.Rvmrc'den .ruby-sürüm + .ruby-gemset'e geçmenin hızlı ve kolay yolu

rvm rvmrc to .ruby-version

1
Doğru, ama []. bazı nedenlerden dolayı çözemedim. (belki de bilmediğim bir kongre.) Aslında mesajı araştırdım ve bu cevabı buldum çünkü garip ifadeler ve [] gerçekten neyin çalıştırılacağından emin değilim.
zem

2
@zem [] , noktanın isteğe bağlı[.]ruby-version olduğunu gösterir ; köşeli parantezler (genel olarak yakut değil) seçeneği belirtmek için kullanılan genel bir kuraldır. Bu nedenle nokta olmadan "yakut sürümü" adlı bir dosya kullanabilirsiniz ve bu da kullanılabilir. Varsayılan olarak "nokta dosyalarını" gizleyen sistemlerde dosyanın daha fazla görünmesini istiyorsanız bu yararlı olabilir. Yine de bu kadar net olmadığına katılıyorum.
Matt Gibson

DiyorCould not load .rvmrc
Abdullah

4

Oluşturmak isterseniz .ruby-versionve .ruby-gemsetkısa bir şekilde dosyayı böyle komutları kullanabilirsiniz:

rvm use 2.1.1@nancy --create

rvm --create --ruby-version 2.1.1@nancy

2

Her ikisini de deneyebilirsiniz. Projenizin kök dizinine gidin, bir .rvmrc dosyası ( touch .rvmrc) oluşturun, ardından düzenleyin rvm use 2.0.0-p451@your_gemset(yakut sürümünüz ve değerli taş adınız). Bu dosyayı kaydettikten sonra şu komutu yazabilirsiniz:

cd ../your_project( projeniz dizinindesiniz) ve .rvmrc içindeki komut dosyası yürütülür.

RVM, ruby ​​versiyonu kullanmanızı tavsiye eder. .Rvmrc'den .ruby sürümüne geçmek için bu komutu çalıştırabilirsiniz.

rvm rvmrc to .ruby-version

Yaptığı şey 2 dosya adı .ruby-version ve .ruby-gemset oluşturmak ve bu satırı eklemek

ruby-2.0.0-p451 .ruby sürümünde

your_gemset ruby-gemset içinde

İsterseniz manuel olarak da deneyebilirsiniz :)


0

Rvm'yi aşağıdakileri kullanarak kurun:

\curl -sSL https://get.rvm.io | bash -s stable --rails

Farklı yakut sürümleri yükleyin:

rvm install 1.8.7
rvm install 1.9.2

Özel yakut sürümüne geçin. Örneğin, 1.8.7:

rvm use 1.8.7

Gemse oluşturmak için:

rvm gemset create project_gemset

Ve bir değerli taş kullanmak için:

rvm gemset use project_gemset
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.