.Rvmrc onayını atlamak mümkün mü?


16

Ruby kurulumlarını ve ortamlarını yönetmek için RVM kullanıyoruz .

Genellikle bu .rvmrckomut dosyasını kullanıyoruz :

#!/bin/bash
if [ ! -e '.version' ]; then
  VERSION=`pwd | sed 's/[a-z/-]//g'`
  echo $VERSION > .version
  rvm gemset create $VERSION
fi
VERSION=`cat .version`
rvm use 1.9.2@$VERSION

Bu komut dosyası, RVM'yi her proje / sürümümüz için yeni bir mücevher ortamı oluşturmaya zorlar.

Ancak yeni sürüm RVM'yi her dağıttığımızda yeni .rvmrc dosyayı onaylamamızı isteriz .

Ne zaman cdbu dizin ilk kez biz böyle bir şey alıyorsanız:

  ================================================== =============
  = BİLDİRİM: =
  ================================================== =============
  = RVM, = içinde henüz güvenilir olmayan bir .rvmrc dosyasıyla karşılaştı.
  = kötü kod içerebilecek geçerli çalışma dizini. =
  = =
  = İçindekilerden emin olmak için bu dosyanın içeriğini inceleyin =
  = güvenmeden önce iyidir! =
  = =
  = Dosyayı okumayı bitirdiğinde okuyucudan çıkmak için 'q' tuşuna basın =
  ================================================== =============

  (hazır olduğunuzda devam etmek için enter tuşuna basın)

Bu geliştirme ortamları için o kadar da kötü değildir, ancak otomatik konuşlandırma ile her sunucudaki her yeni sürümün manuel olarak onaylanması gerekir.

Bu onayı atlamak mümkün mü?

Yanıtlar:


24

Bu notları Waynes blogunda buldum, http://wayneeseguin.beginrescueend.com/

Temel olarak, ekleyerek:

export rvm_trust_rvmrcs_flag=1

için ~/.rvmrckontrol atlayacaktır.

Orada da rvm rvmrc <command> [dir]elle / güvensiz güvendiğim için .rvmrcdosyaları.

Aynı şeyi arıyorum, çözümü yayınlayacağımı düşündüm.

HTH

Saygılarımızla,

Phil


Tam ihtiyacım olan şey!
b01

3

Konuşlandırmamda .rvmrc kullanmıyorum. Sadece bu şekilde kullanıyorum rvm use 1.9.2 --default; Bu özel dizinde değilse benim varsayılan yakut 1.9.2 ve başka değil emin olun.

Seçeneğiyle sonra rvm_project_rvmrc=0senin rvmrc içinde, emin kullanılan başka yakut vardır olun.


0
$ curl -L https://get.rvm.io | bash -s -- --version 1.16.20

$ rvm --version

rvm 1.16.20 (version) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

$ grep less .rvm/scripts/cli .rvm/bin/rvm-installer .rvm/src/rvm/scripts/cli .rvm/src/rvm/binscripts/rvm-installer
.rvm/scripts/cli:            } | less
.rvm/bin/rvm-installer:    } | less
.rvm/src/rvm/scripts/cli:            } | less
.rvm/src/rvm/binscripts/rvm-installer:    } | less

Çözüm:

$ sed -i 's/ | less//' .rvm/scripts/cli .rvm/bin/rvm-installer .rvm/src/rvm/scripts/cli .rvm/src/rvm/binscripts/rvm-installer

Bu "geç cevabı" gözden geçiriyorum ve bu soruya cevap vermenin iyi olduğunu düşünüyorum. Düşünebildiğim tek gelişme sed komutunun yapacağı değişiklikleri açıklamak.
eckes

0

Alternatif ancak beklenmeyen çıkış 0 çoklu yürütme gerektiriyor

örneğin her iki yakut yüklemek için (orijinal rvm kurulumunu değiştirmeden) tekrarlanan yürütme

#!/bin/bash
rvm list | grep ree-1.8.7-2011.12 ||
(  
    rvm install ree-1.8.7-2011.12 &  
    expect "^Press 'q' to continue."  
    send "q\n"
    exp_continue
)

rvm list | grep ruby-1.9.3-p194 ||
(
    rvm install ruby-1.9.3-p194 &
    expect "^Press 'q' to continue."
    send "q\n"
    exp_continue
)

Cevabınızla ne demek istediniz? Bu kod ne işe yarar? @PhilT bu soruyu zaten yanıtladı.
Viacheslav Molokov
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.