RVM을 사용하여 Rails on Lion을 설치할 수없는 이유는 무엇입니까?


83

RVM을 사용하여 OS X Lion에 Rails를 설치하는 데 문제가 있습니다.

지금까지 다음을 수행했습니다.

  1. Mac OS X Lion 버전 10.7 (빌드 11A459e)을 설치했습니다.
  2. XCode 4.1 Developer Preview 5를 설치했습니다.
  3. RVM을 설치했습니다.
  4. 명령을 사용하여 RVM을 통해 Ruby 1.8.7 버전을 설치했습니다 rvm install 1.8.7. 참고 : 1.9.2가 아닌 1.8.7을 사용해야합니다.
  5. 명령을 사용하여 Ruby 1.8.7 버전으로 전환했습니다 rvm 1.8.7.
  6. 명령을 사용하여 새 gemset을 만들었습니다 rvm gemset create rails3.
  7. 명령을 사용하여 새 gemset으로 전환했습니다 rvm use 1.8.7@rails3.
  8. Rails를 설치하기 위해 명령을 실행 gem install rails했지만 다음 오류가 발생했습니다.

    /Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60 : [BUG] 분할 오류

gem 명령을 실행하려고 할 때도 같은 오류가 발생하므로 Rails에서 실제로 문제가 없다고 생각합니다.

아래 링크로 판단 할 때이 문제가있는 사람이 저 뿐인 것 같습니다.

http://twitter.com/#!/pingles/status/66261101351927809https://github.com/carlhuda/bundler/issues/1058


2
당신은 매우 빠른 속도로 걷고 있으며 1.8.7을 추가하면 문제가 복잡해질 수 있습니다. 1.9.2를 설치 한 다음 Rails를 설치하고 어떻게 진행되는지 확인하는 것이 좋습니다. 그런 다음 1.8.7 및 Rails를 개조 해 보겠습니다. 있는 그대로 아직 출시되지 않은 두 가지 소프트웨어를 사용하고 있으므로 아직 지원을받지 못할 수도 있습니다. "분할 오류"는 종종 64 비트 시스템에 대한 32 비트 빌드의 결과이며 예기치 않은 시스템 버전에서 발생할 수 있습니다. 의 결과를 연구하고 rvm info그것이 말하는 것을보십시오. 단서가있을 수 있습니다.
Tin Man

2
공정한 경고와 마찬가지로 Lion은 NDA에 속해 있으므로 지정된 Apple 채널 외부에서 이에 대해 이야기 할 수 없습니다. Apple은 개발자 계정이 그렇게 생각되면 논의하기 위해 개발자 계정을 취소 할 수 있습니다.
Chuck

@the Tin Man에게 감사드립니다 : rvm 정보에 아무것도 없는지 보겠습니다. 슬프게도, 나는 이 프로젝트에 1.8.7을 사용하는; 위의 단계를 따르지만 Ruby 1.9.2를 사용하면 Rails 3가 제대로 설치할 수 있습니다.
Michael Jerome

@Chuck 경고를 보내 주셔서 감사합니다. 동의하지 않은 내용을 공개하지 않도록주의하겠습니다.
Michael Jerome

RVM 1.9.2는 이러한 제안과 함께 작동하지 않습니다. rvm이 llvm을 감지하고 실행되지 않음
Dale

답변:


77

고쳤다!

대답은 실제로 위에 게시 한 링크 중 하나에 있습니다. 루비 버전 (rvm 설치 1.8.7)을 설치하기 전에 " export CC=/usr/bin/gcc-4.2" 를 실행해야했습니다 . 그 자리에서 모든 것이 순조롭게 실행되었습니다.

CC영구적으로 내 보내지 않으려면 다음을 수행 할 수 있습니다.CC=/usr/bin/gcc-4.2 rvm install 1.8.7

이미 루비 1.8.7을 설치 한 경우. 그냥 해CC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7


나는 llvm이 lion의 기본 컴파일러가 될 것이라는 것을 읽은 것을 기억합니다. 이것이 당신이 그런 것을 요구하는 이유라고 생각합니다.
Schmurfy 2011-06-18

3
내보내기 명령을 사용하면 세션의 모든 후속 명령에 대한 CC가 변경되어 다른 컴파일을 엉망으로 만들 수 있습니다. CC=/usr/bin/gcc-4.2 rvm install 1.8.7rvm 설치를 위해 CC를 재정의 하려면 한 줄을 모두 사용하십시오 .
skue

그만한 가치가 있기 때문에 @skue의 메모는 나를 위해 작동하지 않았습니다. 나는 이것을 내 .zshrc파일 에 추가해야했다 .
Ben Kreeger 2011

1
@Benjamin Z Shell을 사용하고 계십니까? 분명히 대부분의 Mac 사용자는 터미널 + Bash를 사용하기 때문에 주목할 가치가 있습니다.
Alan H.

1
@Alan H.-예, 확실히 zsh. FWIW, Lion에서 zsh 실행 .rvmrc스크립트에 문제가 bash있어서 잠시 동안 다시 전환 했습니다. 따라서 해당 줄을 .bash_profile.
Ben Kreeger 2011

24

Xcode 4.2를 설치했다면 실제로는 LLVM이 아닌 gcc를 더 이상 설치하지 않으므로 추가해야합니다. 어떤 이유로 4.2를 설치 한 후 4.1로 다운 그레이드하면 제대로 작동하지 않습니다.

꽤 많은 시간을 보낸 후 마침내 이것이 나를 위해 일한 것입니다.

  1. App Store에서 Xcode 4.2 설치
  2. OSX gcc 설치 프로그램을 사용하여 darwin gcc 설치
  3. REE를 설치하여 이전 시도의 흔적을 모두 제거하십시오.

열려있는 터미널 창을 모두 닫고 새 창을 연 다음

rvm remove ree
export CC=/usr/bin/gcc-4.2
rvm install ree

이것은 rvm 1.8.6, OS X 10.7.2 및 gcc-4.2 버전 4.2.1 (Apple 빌드 5666)에서 저에게 효과적이었습니다.

이미 Xcode 4.1을 설치 한 경우 4.2로 업그레이드하려는 충동에 저항하고 괜찮을 것입니다.


내가 돌아 왔을 때이 이전에는 보지 못했지만 다른 튜토리얼에서이 패키지를 찾았습니다 .. 그러나 위의 권장 사항이 작동하지 않으면 훌륭한 답변입니다 !!
Tim Baas 2011

네, 방금 새 MBP를 받았는데 이전 답변 중 어느 것도 저에게 효과가 없었습니다. FWIW는 Xcode를 설치할 때 당연히 최신 버전 인 4.2.1을 얻었습니다. OSC gcc 설치 프로그램을 설치하고 내 .bash_profile에 내보내기 행을 추가 한 다음 --force를 사용하여 rvm install 명령을 다시 실행하고 시작했습니다. 감사!
turboladen 2011

이것이 도움이되어 기쁩니다! 나는 같은 상황에 있었고 다른 답변 중 어느 것도 나를 위해 일하지 않았으므로 문서화하고 싶었습니다.
Matt Sanders 2011

이것은 이전의 모든 제안이 실패한 후에도 저에게 효과적이었습니다.
Cory Schires 2012

업데이트로 최근에 Lion을 다시 설치했고 Xcode를 전혀 설치하지 않고도 모든 것이 작동하도록 할 수있었습니다. 따라서 아직 설치하지 않았다면 OSX gcc 설치 프로그램을 사용 해보고 필요한 것이 있는지 확인하는 것이 좋습니다.
Matt Sanders

22

그래도 작동하지 않으면 --force를 추가하십시오. 따라서 이것은 다음과 같습니다.

CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force


예, gcc-4.2없이 설치를 시작했다면 두 번째로 중단 된 부분부터 시작됩니다. 따라서 이미 llvm으로 컴파일 한 내용을 지우고 다시 시작하려면 --force가 필요합니다.
lawrence

나는 ~ / .rvm을 날려 버렸고 여전히 --force ty Hans
Scott Smith

감사합니다 한스, --force 내가 너무 무엇을 찾고 있었다입니다
스투

1
종종 make clean설치 디렉토리의 명령 줄에서 사용하는 것이 --force. Force는 오류를 무시하고 오류에주의를 기울여야합니다. 그러니까 조심하세요.
틴 남자

7

당신이 이미 "사용하기 전에 설치 한 경우는 1.8.7을 제거하는 것이 확인 export CC=/usr/bin/gcc-4.2"을 수행하여 " rvm remove 1.8.7"


6

내 시스템에서 동일한 문제가 발생했습니다. LLVM 컴파일러와 함께 제공되고 LLVM 무료 컴파일러없이 제공되는 Apple 의 Xcode 명령 줄 도구를 설치했습니다 .

Ruby 1.8.7은를 사용하지 않아도 LLVM 컴파일러에서 작동하지 않으므로 CC=clangLLVM 무료 gcc를 설치하면 문제가 해결됩니다.

여기에 여러 옵션이 나열됩니다.

https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers

간단히 말해서 Homebrew 와 함께 GCC v4.2를 설치하십시오 .

brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb

그리고 다음 1.8.7 루비 설치 :

CC=gcc-4.2 rvm install 1.8.7

4
GitHub URL이 변경되었습니다. 이제 명령이 brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb대신입니다.
Matthew Ratzloff


2

다음과 같은 gcc 버전을 확인하십시오.

ls -Al `which gcc-4.2`

나는 여기 지침을 따랐다 : http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion

brew update
brew tap homebrew/dupes
brew install apple-gcc42

그런 다음 다시 설치하십시오.

gcc에 대한 경로가 무엇인지 다시 확인하십시오 (CC =에 사용) :

ls -Al `which gcc-4.2`

(선택 사항) 예를 들어 .bashrc에서 설정할 수 있습니다.

export CC=/usr/bin/gcc-4.2

(선택 사항) 이전 버전의 루비 제거

rvm remove 1.8.7

그때:

CC=/usr/local/bin/gcc-4.2 rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk 

또는 프로필에 CC를 설정 한 경우

rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk 

rvm 설치의 플래그에 유의하십시오. ftp 서버에서 체크섬을 확인하는 데 문제가 있었고 tck와 관련하여 몇 가지 문제가있었습니다. 이러한 플래그를 생략 할 수 있습니다.

또한 : 이전 버전의 gemset을 제거해야 할 수도 있습니다.

rvm gemset delete <gemset>

그때

gem install bundler
bundle install

도움이 되었기를 바랍니다.


1

macport 및 ruby-1.9.x 버전 사용. 루비 젬으로 레일을 성공적으로 설치했습니다.


1

~ / .rvmrc에 줄에 주석을 달 때 arch x86_64 에만 동일한 문제가 있습니다.

rvm_archflags="-arch x86_64"

새 터미널을 열고 ruby-1.8.7을 다시 설치했습니다.

rvm install 1.8.7

성공했습니다.



0

이것은 RVM과 관련이 없지만 찾고있는 것이 Lion 용 로컬 개발 환경 인 경우 RubyStack을 사용해 볼 수 있습니다. Apache, MySQL, Ruby 용 무료 오픈 소스 올인원 설치 프로그램입니다. Rails 등. 컴파일이 필요하지 않고 자체 포함되어 있으므로 마음에 들지 않으면 설치 디렉토리를 제거하면됩니다. 면책 조항 : 저는 RubyStack 개발자 중 한 명입니다. :)


0

CC=/usr/bin/gcc-4.2 rvm install 1.8.7나를 위해 작동하지 않았고, 나는 사용 CC=/usr/bin/gcc rvm install 1.8.7했고 ( "which gcc"로 확인)


0

이 페이지에있는 다른 모든 제안에도 불구하고 나는 여전히 세그 폴트를 받고 좌절감을 느끼고 있었기 때문에 "screw it!"이라고 말했습니다. 시스템에서 제공하는 Ruby 1.8.7을 사용합니다.

rvm use system

gem을 설치하려면 sudo를 사용해야하지만 여전히 두통이 덜합니다.


Ruby 1.8.7이 설치된 시스템은 Apple에서 사용할 수 있습니다. 피기 백은 가능하지만 보석 업데이트에는주의해야합니다.
틴 남자

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