Mac OSX Yosemite에서 Ruby 버전 2.0.0을 최신 버전으로 업데이트하는 방법은 무엇입니까?


377

루비 버전을 2.0.0에서 최신 버전으로 업데이트해야합니다. 버전이 업데이트되지 않아 일부 보석을 사용할 수 없습니다. 얼마 전에 Homebrew를 사용하여 Ruby를 설치했습니다. Ruby 버전을 어떻게 업데이트합니까?


명령 줄에 입력 which rvm하거나 입력하면 어떻게됩니까which rbenv
MageeWorld

@ChuchaC 여기 , 여기
vhristoskov

1
brew install ruby충분 해 보입니다 . 여기를 확인하십시오
Venugopal

답변:


709

터미널을 열고 실행

curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable

이 작업이 완료되면, 당신은 당신의 터미널을 다시 시작해야 위한 rvm작업을 명령.

이제 실행 rvm list known

루비 버전 목록이 표시됩니다.

이제 rvm install ruby@latest최신 루비 버전을 얻으려면 실행 하십시오.

ruby -v터미널에 입력 하면이 나타납니다 ruby X.X.X.

여전히 표시 ruby 2.0.되면 실행하십시오 rvm use ruby-X.X.X --default.


3
2.2.0은 최신 버전의 Ruby가 아닙니다.
Jordan 달리기

1
@Jordan 내 나쁜 2.3은 안정적인 버전입니다
Abhinay Reddy Keesara

71
이것은 Mac OS에서 RVM을 설치하기 위해 작동합니다.\curl -sSL https://get.rvm.io | bash -s stable --ruby
zed

7
2.4는 안정된 최신 버전입니다. rvm install ruby-2.4.0
ARMS

7
파이프 컬 출력을 바로 실행하는 것은 보안 악몽이 일어나기를 기다리는 것입니다.
arp

214

양조 전용 솔루션

최신 정보:

의견 (쿠도에서 Maksim Luzik까지)에서 테스트하지는 않았지만보다 우아한 솔루션 인 것 같습니다.

brew를 통해 루비를 설치 한 후 다음 명령을 실행하여 최신 루비 설치에 대한 링크를 업데이트하십시오. brew link --overwrite ruby

원래 답변 :

파티에 늦었지만 맥주를 사용하면 충분합니다. rvm을 설치할 필요는 없으며 나에게는 복잡한 일이 있습니다.

으로 brew install ruby당신이 실제로 최신 (현재 v2.4.0)를 설치하고 있습니다. 그러나 경로는 2.0.0을 먼저 찾습니다. 이를 피하려면 우선 순위 ( source ) 만 변경하십시오 . 변경 ~/.profile하고 설정 하여이 작업을 수행했습니다 .

export PATH=/usr/local/bin:$PATH

이 후 번 들러 gem이 여전히 버전 2.0.0을 사용하고 있음을 알았습니다. 다시 설치하십시오. gem install bundler


2
정확히 내가 찾던 것은 고마워. 루비 개발자라면 rvm이 의미가 있지만 그렇지 않습니다. 그래서 이것은 완벽합니다.
Max

4
이 작동, 설치 후 "source ~ / .bash_profile"을 수행해야
mjpablo23

9
또는 brew를 통해 루비를 설치 한 후 다음 명령을 실행하여 최신 루비 설치에 대한 링크를 업데이트하십시오.brew link --overwrite ruby
Maksim Luzik

1
overwrite루비 버전 대신 다음과 같이 작성할 수 있습니다brew unlink ruby && brew link ruby
Hamsternik

7
@MaksimLuzik의 솔루션은 MacOS에서 작동하지 않습니다. brew link --overwrite ruby리드Warning: Refusing to link macOS-provided software: ruby
Rafael Beckel

97

나는 rbenv를 추천 한다 * https://github.com/rbenv/rbenv

* 귀하의 기준을 충족하는 경우 : https://github.com/rbenv/rbenv/wiki/Why-rbenv? :

rbenv 는…

  • 응용 프로그램 별 Ruby 버전 지정을 지원합니다 .
  • 사용자별로 글로벌 루비 버전변경할있습니다 .
  • 환경 변수로 Ruby 버전대체 할 수 있습니다 .

RVM과 달리 rbenv 는 다음을 수행하지 않습니다.

  • 쉘에로드해야합니다. 대신 rbenv의 shim 접근 방식은에 디렉토리를 추가하여 작동합니다 $PATH.
  • cd프롬프트 해킹 과 같은 쉘 명령을 무시 합니다. 위험하고 오류가 발생하기 쉽습니다.
  • 구성 파일이 있어야합니다. 사용하려는 Ruby 버전을 제외하고는 구성 할 것이 없습니다.
  • Ruby를 설치하십시오. Ruby를 직접 빌드하고 설치하거나 ruby-build 를 사용 하여 프로세스를 자동화 할 수 있습니다.
  • 보석 세트를 관리합니다. 번 들러 는 응용 프로그램 종속성을 관리하는 더 좋은 방법입니다. 아직 Bundler를 사용하지 않는 프로젝트가있는 경우 rbenv-gemset 플러그인을 설치할 수 있습니다 .
  • 호환성을 위해 Ruby 라이브러리를 변경해야합니다. 한 그것이 당신의의로 rbenv 수단의 단순성 $PATH, 아무것도 다른 요구는 설명.

설치

Homebrew http://brew.sh 설치

그때:

$ brew update
 $ brew 설치 rbenv
brew install rbenv 루비 빌드

# 터미널을 열 때마다로드되도록 rbenv를 bash에 추가하십시오.
echo 'rbenv> / dev / null 인 경우; 그런 다음 eval "$ (rbenv init-)"; fi '>> ~ / .bash_profile
소스 ~ / .bash_profile

업데이트 실행
후 추가 단계가 하나있으며 상태에따라한 줄을 추가brew install rbenv하십시오. 그 후 터미널 창을 다시여십시오. […] SGI 9 월 30 일 12:01 — https://stackoverflow.com/users/119770rbenv init.bash_profile

$ rbenv 설치-목록
사용 가능한 버전 :
 1.8.5-p113
 1.8.5-p114
 […]
 2.3.1
 2.4.0-dev
 jruby-1.5.6
 […]
rbenv 설치 2.3.1
[…]

글로벌 버전을 설정하십시오.

$ rbenv 글로벌 2.3.1
$ 루비 -v
루비 2.3.1p112 (2016-04-26 개정판 54768) [x86_64-darwin15]

.ruby-versionrepo의 루트 디렉토리 에 추가하여 repo의 로컬 버전을 설정하십시오 .

$ cd ~ / whatevs / projects / new_repo
$ echo "2.3.1"> .ruby- 버전

MacOS의 경우이 링크를 방문 하십시오.


3
@ChuchaC 가능성 없음. 그러나이 작업을 수행하기 전에 rbenv 추가 정보를 참조하십시오. "호환성 참고 : rbenv는 RVM과 호환되지 않습니다. rbenv를 설치하기 전에 RVM을 완전히 제거하고 셸 초기화 파일에서 해당 참조를 제거하십시오." — github.com/rbenv/rbenv#installation
SoAwesomeMan

17
도움이되지 않았습니다. 여전히 표준 2.0.0 버전 ruby -v이후rbenv global ...
tuxSlayer

8
brew install rbenvRun 다음에 한 단계가 더 rbenv init있고 .bash_profile에 한 줄을 추가 하십시오 . 그 후, 터미널 창을 다시 할 rbenv install 2.3.1, rbenv global 2.3.1 그리고 rbenv는 작업을 할 것입니다
SGI

6
아마 늦었지만, @tuxSlayer과 같은 문제가 발생 사람들을위한 미래의 참조에 대한 rbenv rehashrbenv global나를 위해 일한

2
이후 rbenv initruby -v올바른 버전 2.1.2를 출력하지만 번들 실행시 이와 같은 오류가 발생합니다 paperclip-5.0.0.beta1 requires ruby version >= 2.1.0, which is incompatible with the current version, ruby 2.0.0p648. 마지막으로의 실행으로 작동하도록하십시오 rbenv rehash. 감사합니다 @Sean
James

51

터미널 열기 :

sudo gem update --system 

효과가있다!


3
이것은 실제로 작동하는 것처럼 보이며 다른 답변보다 훨씬 더 직설적입니다. 그러나 일부 보석을 설치할 때 (예를 들어), 버전이 필요한 것보다 낮다고 불평합니다.
William Isted

8
루비가 아닌 보석입니다
William GP

유일한 해결책을 양조 여기
세르지오 Basurco에게

2
나는이 답변에 오도되었다. 콘솔에서 실행할 때 오류가 발생하지 않기 때문에 "작동"합니다. 그러나 Ruby는 업데이트하지 않습니다. Ruby Gems를 업데이트합니다. 다른 답변 중 하나에 따라 Ruby를 업데이트하십시오 (OS X Sierra 사용).
informaton

41

루비를 v2.4 + 로 업그레이드하는 빠른 방법

brew upgrade ruby

또는

sudo gem update --system 

4
이것은 많은 일을하는 것처럼 보이지만 루비를 업그레이드하는 것은 그중 하나가 아닙니다. : 그것은으로 종료 /usr/local/Homebrew/Library/Homebrew/brew.rb:12:in '<main>': Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)
nkoren

1
이것은 brew를 사용하여 루비 버전을 업그레이드하는 정확하고 가장 좋은 방법입니다.
user1101733

나를 위해 작동하지 않습니다. ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
Sébastien Loisel

@ SébastienLoisel 운영 체제, 명령 등에 대해 자세히 설명해 주
시겠습니까?

1
@fatihyildizhan은 분명히 ruby ​​/ gems / etc가 Mavericks에서 semibroken 상태에 있습니다. 카탈리나로 업그레이드하여 문제를 해결했습니다. 내가 가진 모든 오류를 기억하지는 못했지만 많은 사람들이있었습니다. 코코아 포나 보석을 업그레이드하려고했는지 기억이 나지 않지만, 실제로는 희망이 없었습니다.
Sébastien Loisel

31

https://www.ruby-lang.org/en/downloads/ 에서 최신 버전의 루비를 지정할 수 있습니다.

  1. 최신 버전을 가져옵니다.

    curl -sSL https://get.rvm.io | bash -s stable --ruby

  2. 설치하십시오 :

    rvm install 2.2

  3. 기본값으로 사용하십시오.

    rvm use 2.2 --default

또는 루비에서 최신 명령을 실행하십시오.

rvm install ruby --latest
rvm use 2.2 --default

고마워, 이것은 나를 위해 일했다. rbenv작동하지 않는 솔루션
tuxSlayer

이것은 나에게도 효과가 있었다!! 와이 솔루션은 rbenv작동하지 않았다
ruoho ruotsi

5

Mac OS가 Brew설치되어 있으면 다음 명령을 시도해 볼 수 있습니다.

brew upgrade ruby

2

누구든지 같은 오류가 발생하면 “필요한 설치 상태 : 1”입니다.수행 할 작업은 다음과 같습니다.

이 명령으로 Homebrew를 설치하십시오 (어떤 이유로 든 자동으로 작동하지 않을 수 있음).

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

그런 다음 다음을 사용하여 rvm을 다시 설치하십시오.

curl -sSL https://get.rvm.io | bash -s stable --ruby

터미널을 종료했다가 다시 엽니 다.

rvm install 2.2
rvm use 2.2 --default

2

brew install rbenv ruby-build

rbash를 bash에 추가하여 터미널을 열 때마다로드되도록하십시오.

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile

source ~/.bash_profile

루비 설치

rbenv install 2.6.5

rbenv global 2.6.5

ruby -v

받는 링크 소스 페이지

0

터미널에서 : rvm gemset use global


5
이 코드 스 니펫이 해결책이 될 수 있지만 설명을 포함하면 게시물의 품질을 향상시키는 데 실제로 도움이됩니다. 앞으로 독자에게 질문에 대한 답변을 제공하고 있으며 해당 사람들이 귀하의 코드 제안 이유를 모를 수도 있습니다.
Adam

-2

가장 간단한 방법은 터미널에 다음 명령을 입력하는 것입니다.

sudo gem update --system

--no-document문서를 다운로드하지 않으려는 경우 플래그를 추가 할 수 있습니다 . 다음은 명령을 실행 한 후의 샘플 출력입니다.

sudo gem update --system
Password:
Updating rubygems-update
Fetching: rubygems-update-2.6.8.gem (100%)
Successfully installed rubygems-update-2.6.8
Parsing documentation for rubygems-update-2.6.8
Installing ri documentation for rubygems-update-2.6.8
Installing darkfish documentation for rubygems-update-2.6.8
Installing RubyGems 2.6.8
RubyGems 2.6.8 installed
Parsing documentation for rubygems-2.6.8
Installing ri documentation for rubygems-2.6.8

------------------------------------------------------------------------------

RubyGems installed the following executables:
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/gem

Ruby Interactive (ri) documentation was installed. ri is kind of like man 
pages for ruby libraries. You may access it like this:
  ri Classname
  ri Classname.class_method
  ri Classname#instance_method

1
답변 과 동일하지 않습니까? 여기에 다운 보트 수와 여기에 보답이없는 이유가 궁금합니다. 중복 된 답변 때문입니까, 아니면 사람들이 빨리 깨닫지 못했기 때문에 이전 솔루션도 루비가 아닌 루비 젬을위한 것입니까?
informaton
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.