RVM을 사용하여 Ruby 버전을 어떻게 변경합니까?


111

현재 Ruby 버전을 전환 할 수 없습니다.

  ~  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을 올바르게 설치 했습니까? 어떤 OS를 사용하고 있습니까?
lesce dec

2
의 출력을 rvm info질문에 추가 하십시오.
틴 남자

우분투 11.10에 apt-get을 사용하여 rvm을 설치하여 비슷한 문제가 발생했습니다. 제거하고 다시 설치해야했습니다$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
lesce

4
쉘의 시작 스크립트에 RVM로드 기능이 있습니까? [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"사용할 코드입니다. 경로에 RVM이 설치되어 있지만 시작 스크립트에없는 경우 RVM is not a function오류가 발생할 수 있습니다 .
Michelle Tilley 2011

이 솔루션은 나를 위해 작동 - rvm.io/integration/gnome-terminal
gotqn

답변:


122

고쳤다. 다음을 추가해야했습니다.

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

.zshrc


57

이것은 나에게도 일어났습니다. 나는 :

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

내 .bashrc에 추가되었습니다.

내가해야 할 일은 하나 더 추가하는 것뿐

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

동일한 파일에 저장하고 작동했습니다! 물론 그 후에는 터미널을 다시 시작해야합니다.


1
내 ~ / .bash_profile에 동일한 줄 ([[-s "$ HOME / ...)이 있고 새 터미널을 열었을 때"취득 "하지 않은 것 같지만 줄을 추가했을 때 ~ / .bashrc의 PATH 줄 아래에서 작동했습니다. 즉, rvm use 1.9.3을 입력 할 수 있으며 소스 ~ / .bash_profile을 먼저 입력 할 필요없이 rvm을 명령으로 즉시 인식합니다. m Linux 사용자가 아니므로 혼란 스럽지만 이것이 작동하게되어 기쁩니다. 아마도 누군가가 내 혼란을 명확히 할 수있을 것입니다.
TimDog

훌륭합니다.이 줄을 ~ / .bashrc에 넣으면 작동합니다. 하지만 이유도 모르겠습니다.
잭 마

그래 작동합니다. 하지만 컴퓨터를 다시 시작할 때마다 위에서 언급 한 명령을 내려야합니다. 명령을 제공하지 않으면 rvm이 기능이 아니라고 말합니다.
Apurva Mayank 2012 년

11

셸은 RVM 기능에 대해 알지 못합니다. 설치 한 후이를 처리하는 방법을 알려줍니다. 또는 RVM 사이트 의 설치 페이지 로 이동하여 "2. RVM을 셸 세션에 함수로로드"섹션을 확인하십시오.

이것을 한 번 실행하여 ~ / .bash_profile에 rvm을로드하는 줄을 추가합니다.

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

또는 직접 추가하십시오. (일부 시스템에서는 다른 위치 (예 : 내 시스템, Mac OSX Lion, ~ / .profile에 저장)에 저장하고 싶을 것입니다.)


나는 OS X Snow Leopard를 사용하고 있는데, 그 줄을 .profile에 넣는 것이 나를 위해 트릭을 만들었다.
Heldraug

9

(Kubuntu 11.10) ~/.bash_profile이제~/.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

루비의 기본 버전을 변경하려면 :

Ubuntu 11.10에서
GNOME 터미널 설정을 변경하십시오.

터미널로 이동 한 후 다음 지침을 따르십시오.

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

터미널에서 다음 명령을 실행하십시오.

rvm --default use ruby_Version

5

모든 RVM 기능을 .bash_profile에 추가하려면 다음 명령을 사용해야합니다.

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

그런 다음 현재 셸을 다시로드하거나 새 터미널 세션을 열고 다음 명령을 입력하여 .bash_profile을 다시로드해야합니다.

source .bash_profile

4

위의 솔루션은 현재 사용자를 위해 RVM이 설치된 경우에만 작동합니다. 보다 일반적인 솔루션은 RVM 경로 변수를 사용합니다.

# 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 2017

3

방금 소스를 호출해야했습니다. ~/.bash_profile


3

Ubuntu 12.04를 새로 설치하면 동일한 문제가 발생했습니다. RVM 설치 프로그램은 원래 문제를 피하기 위해 필요한 코드 비트를 ~ / .bash_login 파일에 생성하거나 추가합니다.

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

그러나 이것은 호출되지 않는 것 같습니다. ~ / .bashrc에 추가하면 문제가 해결되었습니다.


1

RVM 설치, 여기를 참조하십시오 http://octopress.org/docs/setup/rvm/


RVM을 설치할 때 권한이없는 소스를 사용하지 마십시오. RVM 설치 페이지는 구체적으로 말한다 : "어떤 외부 자습서는 그들이 작동 여부 자습서 설치 프로세스를 디버깅 남자 시간의 위대한, 그러나 우리가 지출 한 엄청난 양의은 설치 과정 (들)을 사용하십시오 여부가 지원되지 않는 점에 유의하십시오.. 지원되는 유일한 설치 유형 및 방법이므로이 사이트에만 해당됩니다. "
Tin Man

1

우분투의 경우 ~ / .bashrc의 항목은 다음과 같습니다.

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

대신에:

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

사이에 누락 된 공백이 있습니다. 및 "$ HOME.

또한 이것이 문제인 경우 터미널을 시작할 때 맨 위에 오류가 표시되어야합니다.


0

/etc/profile.d/rvm.sh를 실행하는 RVM의 전역 설치가 있습니다. 그러나 해당 스크립트를 사용하려면 BASH_VERSION 또는 ZSH_VERSION을 설정해야합니다. "sh"를 사용하는 crontab에서 실행 중이었습니다.

/ bin / bash를 사용하여 /etc/profile.d/rvm.sh를 소스로 사용하는 래퍼 스크립트를 만들었습니다.


0

로그인 셸을 허용하려면 터미널 에뮬레이터 기본 설정을 변경해야합니다. 때로는 /bin/bash --login명령 으로 사용해야 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.