2010-06-13 10 views
5

RVM'yi seviyorum. Bunun için ana kullanım durumunun farklı kullanıcıların Ruby'nin farklı sürümleri arasında geçiş yapmasına izin verdiğinin farkındayım. Ama diyelim ki bir Rails uygulamasını sunucuya dağıtıyorum ve sadece Ruby'nin tek bir versiyonunu istiyorum. Özellikle, RVM ile yüklemek için bir esinti olan 1.9.2, ancak onsuz bir acı istiyorum. "Ben tüm kullanıcılar için kanonik Ruby kurulumunu yapmak istiyorum" diyebileceğim bir yol var mı? (Tüm mücevherleri ile birlikte), el ile bir sürü symlinks yaratmak zorunda kalmadan ve daha yeni bir güncelleme yaptığımda değiştiriyorum Ruby serbest mi?Tüm kullanıcılar için Ruby'nin tek bir sürümünü korumak için RVM'yi kullanabilir miyim?

cevap

9

RVM'yi root olarak kurun ve sudo rvm use 1.9.2 --default'u yapın. /usr/local/rvm/scripts/rvm kaynağı olan herhangi bir kullanıcı varsayılan olarak 1.9.2 değerine sahip olacaktır.

+1

RVM hakkında başka sorularınız varsa, freenode'daki #rvm kanalında 7/24 yardım etmek isteyen insanlar var: http://webchat.freenode.net/?channels=rvm. –

+0

"Herhangi bir kullanıcı kaynağı/usr/local/rvm/scripts/rvm" ile ne kastettiğinizden emin değilim ... Şunu düşünürüm: Rails uygulamasını çalıştıran bir web sunucum varsa, Ruby 1.9.2 ve karşılık gelen mücevherleri kullandığından emin olmak istiyorum. Web sunucusu kullanıcısının RVM'yi nasıl kullanmasını sağlayabilirim? –

+0

Bu gerçekten web sunucusu ne kullandığına bağlıdır. Sourcing, bu dosyayı ortamınıza yüklediğiniz anlamına gelir (yani, '/ etc/bashrc' kaynağında' source/usr/local/rvm/scripts/rvm' satırını veya bir şeyi yerleştirin). Web sunucunuzun 1.9.2 kullandığından emin olmak, sistem rubyosunu kullandığından emin olmakla aynıdır: Yolda ilk önce olması gerekir. Diğer şeylerin yanı sıra, rvm kaynaklarının da ilgilenmesi. –

3
Ben bu oldukça sorunuza cevap vermez biliyorum

ama:

Ben küresel RVM yükleme ile birkaç sorunlarla karşılaştı ve dağıtım için ve tüm Yakut/Raylar işlemleri için bir kullanıcı hesabı kullanarak başvurdu - Kullanıcıların hesap tüm dev ve üretim sunucularında bulunur ve .rvm dizini bir dev sunucusundan diğer tüm sunuculara rsync'ed.

Uygulama sunucularınızda kaç farklı kullanıcının Ruby 1.9.2'ye gerçekten erişmesi gerekiyor? Sadece bunu tek bir kullanıcıya indiremez misiniz? Bu benim için en iyi çalıştı.

Not: muhtemelen kaçınmak istiyorum

Bir şey elle uygulama sunucusuna (ler) RVM yüklemek ve daha sonra uygulama sunucusundaki Ruby ve Taşlar yüklemektir ... Eğer araçlarını tutmak istemiyoruz Güvenlik nedenleriyle üretim sunucularınızda cc gibi bir yer var! rsync'ing .rvm dizini çok daha güvenli! ve sonuç çok daha tutarlı!

İlgili konular