[ruby-on-rails] rvm을 사용하여 루비 1.9.2-p0을 최신 패치 수준으로 어떻게 업그레이드합니까?
내 현재 버전의 루비는 ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]
rvm을 사용하여 최신 패치 수준으로 업데이트하고 싶습니다. 어떻게 할 수 있습니까?
답변
먼저 .NET을 실행하여 RVM 설치를 업데이트하십시오 rvm get stable
.
새 RVM 버전을 실행하고 있는지 확인하려면 실행 rvm reload
(또는 새 터미널 열기)해야합니다.
완료되면 RVM에를 실행하여 설치할 수있는 루비 버전을 나열하도록 요청할 수 있습니다 rvm list known
.
이제 출력에 다음이 표시됩니다.
# MRI Rubies
...
[ruby-]1.9.2[-p320]
...
패치 수준 주변의 대괄호는 이것이 현재 루비 1.9.2에 대한 RVM의 기본 패치 수준임을 나타냅니다.
마지막으로 새 루비 버전을 설치하려면 실행 rvm install 1.9.2
하고 컴파일 될 때까지 기다리십시오!
답변
루비 인터프리터를 업그레이드 하고 기존 gemsets을 계속 :
$ rvm upgrade 1.9.2-p0 1.9.2
Are you sure you wish to upgrade from ruby-1.9.2-p0 to ruby-1.9.2-p136? (Y/n): Y
1.9.2의 최신 안정 릴리스로 교체합니다. 이것은 혼란을 방지합니다.
댓글 (@Mauro, @James, @ACB) 덕분에 몇 가지 추가 유용한 팁
$ rvm list known
# NOTE: you probably want to upgrade your rvm first, as the list of known rubies seems to be coupled to the rvm version.
$ rvm get stable
$ rvm list known #pick your ruby
답변
첫 번째 RVM 업데이트 :
rvm get stable
그런 다음 Ruby 버전을 업데이트합니다.
rvm upgrade 2.0.0
모든 질문에 대해 예를 선택하십시오.
Are you sure you wish to upgrade from ruby-2.0.0-p195 to ruby-2.0.0-p247? (Y/n): Y
Are you sure you wish to MOVE gems from ruby-2.0.0-p195 to ruby-2.0.0-p247?
This will overwrite existing gems in ruby-2.0.0-p247 and remove them from ruby-2.0.0-p195 (Y/n): Y
Do you wish to move over aliases? (Y/n): Y
Do you wish to move over wrappers? (Y/n): Y
Do you also wish to completely remove ruby-2.0.0-p195 (inc. archive)? (Y/n): Y
gem을 최신 버전으로 업데이트하려면 다음을 수행 할 수 있습니다.
rvm all do gem update
편집 : 나는 오늘 루비 2.0.0의 최신 버전에서 이것을했습니다 (루비 -2.0.0-p195에서 ruby-2.0.0-p353으로 업데이트했습니다). 그 후 gem을 업데이트하려고 할 때 분할 오류가 발생했습니다. 이는 gem이 ruby-2.0.0-p195 용으로 설치되었고 일부는 p353과 호환되지 않기 때문에 발생합니다.
이제 호환되지 않는 gem을 찾을 수 있지만 가장 쉬운 해결책은 설치된 모든 gem을 제거하고 다시 설치하는 것입니다. gems/ruby-2.0.0-p353
에있는 디렉토리를 간단히 제거 했습니다 /usr/local/rvm
. 당신을 위해 다른 곳이 될 수 있습니다.
그런 다음 gem install bundler
각 rails 앱을 실행했습니다 bundle install
.
답변
이렇게 :
rvm update; rvm reload
rvm install ruby-1.9.2-p136
rvm --default ruby-1.9.2-p136
답변
위키 의 페이지를 따라 가면 모든 패치 레벨을 설치할 수 있습니다 .
또한 각 루비는 독립적이므로 실제로 ‘보석을 업그레이드하고 유지’하는 것이 아니라 새 패치 버전을 설치 한 다음 새 루비 환경에 gem을 설치합니다.
이것은 gemset이 작동했을 수도 있지만 사용하지 않습니다.
시간이 지난 경우를 대비하여 rvm도 업데이트하는 것을 잊지 마십시오.
답변
npad의 답변은 확실히 기본 사항을 제시하므로 해당 단계를 반복하지는 않지만 여기에 사용을 제안하는 몇 가지 답변이 있습니다 rvm upgrade
. rvm이 옵션을 제공한다는 것을 알고 있지만 약간 위험한 옵션입니다.
IMO, 더 안전하고 “rvm 방식”은 먼저 rvm install
새 루비 버전을 사용한 다음 rvm gemset copy
명령을 사용 하여 gemset (s)을 새 루비 버전 (예 : rvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset
. 그런 다음 프로젝트를 새로 복사 한 gemset을 사용하도록 쉽게 전환하고 ( .rvmrc
프로젝트 디렉토리에 있는 파일을 사용하는 것이 좋습니다 ) 코드가 실패하는지 확인할 수 있습니다. 그렇다면 이전 루비 버전으로 다시 변경하는 것은 gemset을 전환하는 문제 일뿐입니다.
그러나 gemsets를 사용하지 않더라도 (이 질문에 rails에 태그를 붙인 이후로 사용한다고 가정하지만)를 사용 rvm upgrade
하면 예기치 않은 오류가 발생할 수 있습니다. 코드가 깨지면 이제 이전 버전을 다시 설치해야합니다. 조금 더 시간을내어 깨끗한 방식으로 수행하십시오.
답변
나는 그것의 rvm install 1.9.2-head
사용 가능한 루비를 볼 수 있습니다. rvm list known