Ruby sürümümü RVM kullanarak nasıl değiştiririm?


111

Mevcut Ruby sürümünü değiştiremiyorum:

  ~  rvm list

rvm rubies

   ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.3-p0 [ x86_64 ]

  ~  rvm use ruby-1.9.3-p0

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

rvm'yi doğru kurduğunuzdan emin misiniz? hangi işletim sistemini kullanıyorsun?
lesce

2
rvm infoLütfen sorunun çıktısını sorunuza ekleyin .
The Tin Man

Ubuntu 11.10'a apt-get ile rvm yükleyerek benzer bir sorun yaşadım, onu kaldırıp yeniden $ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
yüklemem

4
Kabuğunuzun başlangıç ​​komut dosyasında RVM yükleme işlevi var mı? [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"kullanılacak koddur. Yolunuzda RVM kuruluysa, ancak başlangıç ​​komut dosyanızda buna sahip değilseniz, RVM is not a functionhatayı alabilirsiniz .
Michelle Tilley

Bu çözüm benim için çalışıyor - rvm.io/integration/gnome-terminal
gotqn

Yanıtlar:


122

Onu düzeltti. Eklemem gerekiyor:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM 

için .zshrc


57

Bu bana da oldu. Sahiptim:

export PATH=~/.rvm/bin:$PATH

.Bashrc dosyama eklendi.

Tek yapmam gereken bir tane daha eklemekti

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

aynı dosyaya ve işe yaradı! Tabii ki bundan sonra terminalinizi yeniden başlatmanız gerekiyor.


1
Aynı satıra ([[-s "$ HOME / ...) ~ / .bash_profile dosyamda da sahiptim ve bu yeni bir terminal açtığımda" alma "gibi görünmüyordu ... ama satırı eklediğimde ~ / .bashrc'deki PATH satırının altında, işe yaradı - yani, 1.9.3 kullanıp rvm yazabilirim ve ilk önce source ~ / .bash_profile - i 'yazmam gerekmeden rvm'yi bir komut olarak hemen tanıyabilirdi. Ben bir linux kullanıcısı değilim, bu yüzden bu kafamı karıştırıyor, ama bunun işe
yaramasına

bu harika, bu satırı ~ / .bashrc içine koydum, işe yarıyor. ama nedenini de bilmiyorum.
Jack Ma

Evet işe yarıyor. Ancak makinemi her yeniden başlattığımda yukarıda belirtilen komutları vermem gerekiyor. Komutları sağlamazsam, rvm'nin bir işlev olmadığını söylüyor.
Apurva Mayank

11

Kabuğunuz RVM işlevini bilmiyor. Kurduktan sonra, bununla nasıl ilgileneceğinizi anlatır. Veya RVM sitesindeki kurulum sayfasına gidin ve "2. RVM'yi bir işlev olarak kabuk oturumlarınıza yükleyin" başlıklı bölüme bakın.

Rvm yükleyen satırı ~ / .bash_profile dosyanıza eklemek için bunu bir kez çalıştırın:

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

veya kendiniz elle ekleyin. (Bazı sistemlerde, başka yerlere koymak isteyeceğinizi unutmayın, örneğin benim sistemimde, Mac OSX Lion, onu ~ / .profile koyuyorum)


OS X Snow Leopard kullanıyorum, bu satırı .profile koymak benim için hile yaptı.
Heldraug

9

(Kubuntu 11.10) ~/.bash_profileŞimdi denir~/.profile

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.profile
source ~/.profile
rvm info # And now the fields display

6

Ruby'nin Varsayılan Sürümünü Değiştirmek İçin:

Ubuntu 11.10'da
lütfen GNOME terminal ayarınızı değiştirin:

Terminale gidin ve ardından aşağıdaki talimatları izleyin:

1.  Edit > Profile Preferences
2.  Open Title and Command Tab               
3.  Check Run Command as a login Shell 
4.  Restart terminal

Bu komutu terminalde çalıştırın:

rvm --default use ruby_Version

5

Tüm RVM işlevselliğini .bash_profile dosyanıza eklemek için aşağıdaki komutu kullanmalısınız:

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

Bundan sonra, mevcut kabuğu yeniden yüklemeniz veya yeni bir terminal oturumu açmanız ve .bash_profile dosyasını yeniden yüklemek için aşağıdaki komutu yazmanız gerekir:

source .bash_profile

4

Yukarıdaki çözüm, yalnızca RVM mevcut kullanıcı için kurulmuşsa çalışacaktır. Daha genel bir çözüm, RVM yol değişkenini kullanır:

# The following code loads RVM as user or system install:
[[ -s "$rvm_path/scripts/rvm" ]] && . "$rvm_path/scripts/rvm"

rvm_path=/home/myuser/.rvm . /home/myuser/.rvm/scripts/rvm
Jose Alban

3

Sadece kaynağı çağırmalıydım ~/.bash_profile


3

Temiz bir Ubuntu 12.04 kurulumunda aynı sorunla karşılaştım. RVM yükleyicisi, orijinal sorunu önlemek için gerekli kod bitini ~ / .bash_login adlı bir dosyaya oluşturur veya ekler:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

Ancak bu çağrılmamış gibi görünüyor. ~ / .Bashrc'ye eklemek sorunu benim için çözdü.


1

RVM Kurulumu, Buraya bakın http://octopress.org/docs/setup/rvm/


RVM'yi kurmak için yetkili olmayan kaynakları kullanmayın. RVM kurulum sayfası özellikle diyor: "Herhangi dışarıda öğreticiler işe ya da değil Öğreticiler yükleme işlemini ayıklama adam saatlik mükemmel, ancak biz geçirdim masif miktarlar yüklemek süreç (ler) kullanın ister DESTEKLENMEZ o Not dan.. Yalnızca bu site, çünkü desteklenen tek yükleme türleri ve yöntemleri budur. "
The Tin Man

1

Ubuntu'daki durumumda ~ / .bashrc girişinde şunlar vardı:

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && ."$HOME/.rvm/scripts/rvm" # BAD

onun yerine:

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # WORKING

Aradaki eksik boşluğa dikkat edin. ve "$ HOME.

Ayrıca, sorun buysa, terminalinizi başlattığınızda da üstte bir hata fark etmelisiniz.


0

/Etc/profile.d/rvm.sh çalıştıran global bir RVM kurulumum vardı. Ancak, bu komut dosyası BASH_VERSION veya ZSH_VERSION'ın ayarlanmasını gerektirir. "Sh" kullanan crontab'dan koşuyordum.

/Etc/profile.d/rvm.sh kaynağına / bin / bash kullanan bir sarmalayıcı komut dosyası oluşturdum.


0

Oturum açma kabuğuna izin vermek için terminal öykünücüsü tercihlerinizi değiştirmeniz gerekir. Bazen /bin/bash --loginkomut olarak kullanılması gerekir .

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.