[ruby-on-rails] Ruby / Homebrew / RVM이 Yosemite에서 작동하도록하는 방법은 무엇입니까?

Yosemite를 설치 한 후 brew 또는 ruby를 실행할 수 없습니다.

양조 업데이트에서이 오류가 발생했습니다.

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0

irb에서이 오류가 발생합니다.

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14 (Errno::EACCES) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:infu_mkdir'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:219:in block (2 levels) in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:inreverse_each'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:in block in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:ineach'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:in mkdir_p' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:210:inwrite_gem_make_out'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:132:in build_error' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:171:inrescue in build_extension'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:156:in build_extension' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:198:inblock in build_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:in each' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1436:in block in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb:45:inuse_ui'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1434:in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb:60:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/basic_specification.rb:56:in contains_requirable_file?' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:925:inblock in find_inactive_by_path'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in each' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:infind'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in find_inactive_by_path' from /Library/Ruby/Site/2.0.0/rubygems.rb:185:intry_activate'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:150:in block in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:158:inblock in each_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:167:in each_sublocale' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:157:ineach_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:145:in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:124:infind'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:108:in load' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:32:ininitialize'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:in new' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:ininit_config'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:16:in setup' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb.rb:380:instart'
from /usr/bin/irb:12:in `'



답변

이 오류는 다음 단계에서 쉽게 수정할 수 있습니다.

1) 터미널 열기

2) 유형 nano /usr/local/Library/brew.rb

3) 첫 번째 줄에서 “1.8”을 “Current”로 변경하면 다음과 같이 표시됩니다.

#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0

http://blog.ic3man.gr/2014/06/homebrew-ruby-bad-interpreter-no-such-file-or-directory/ 를 통해


답변

나는 요세미티로 업데이트했고 나중에 brew깨 졌다는 것을 알게되었습니다 .

/usr/local/bin/brew: /usr/local/Library/brew.rb:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory /usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0

아직 양조를 변경하지 않았다면 여기에 제가 권장하는 것이 있습니다. 그렇지 않으면 아래를 더 읽으십시오.

  1. cd /System/Library/Frameworks/Ruby.framework/Versions/
  2. sudo ln -s Current 1.8
  3. brew update
  4. sudo unlink 1.8

이미 brew 파일을 변경하고 git 엉망이 되었습니까?

편집을 시도했지만 /usr/local/Library/brew.rb내 git repo에 대한 로컬 변경으로 인해 brew update업데이트가 중단 되지 않았습니다 . 이 페이지와 다른 사이트에서 언급 한 다른 솔루션을 시도해 보았고 결국 엉망진창으로 끝났고 내가 원하는 것은 내가 양조 한 모든 것을 취소하는 것뿐이었습니다.

나는 변화를 저질렀지만 상황을 악화시켰다. 결국 나는 내 커밋을 취소 git reset --hard HEAD~1하고 올바른 커밋이 될 때까지 해야했다 . 버전이 지정되지 않은 파일도 엉망이 되었기 때문에 (/ usr / Local에서 파일 권한을 변경했습니다) git clean -f -d버전이 지정되지 않은 모든 파일과 디렉토리를 제거하고 변경하기 전에 시작했던 곳으로 돌아가는 작업을했습니다.


답변

수정 단계 :

  1. Xcode 6 용 명령 줄 도구 설치

  2. Brew 재설치 :

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. brew가 설치되면 rvm이 작동합니다.

    rvm install ruby

나를 위해 일 했어, 야후!


답변

스크립트를 편집하면 brew update작동하지 않습니다. 추적 된 파일에 대한 로컬 편집으로 인해 git pull실패합니다.

나는 이것이 더 깨끗하다고 ​​생각한다.

cd /usr/local/Library
git pull -q origin refs/heads/master:refs/remotes/origin/master

에 대한 불만이 없습니다 brew doctor.


답변

이것은 다른 사람들의 게시물의 답변과 Google에 대한 약간의 정보를 모아 놓은 것입니다.하지만 완전한 답변이 한곳에 모이도록 올려 놓을 것이라고 생각했습니다. 특히 이것은 지금 일을 할 수있게 해주지 만, 평소처럼 양조 업데이트를하고 모든 것을 다시 깨끗하게 할 수있게 해줍니다.

  1. /usr/local/Library/brew.rb(emacs/vi/nano/whatever)를 엽니 다.
  2. 읽을 첫 번째 줄을 변경하십시오 #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0.. 그 줄에있는 “1.8”을 “Current”로 변경하는 것입니다 (대문자 “C”를 유지해야합니다. 그렇지 않으면 git가 나중에 혼동 될 것입니다).
  3. cd $(brew --repository)
  4. git add Library/brew.rb
  5. git commit -m "upgrading to ruby 2.0"
  6. brew update(또는 sudo brew update양조가 sudo로 시스템 변경 만 수행하도록 설정된 경우)

신용 : 많은 부분이 여기 에서 나왔지만 git commit -am/ usr / local 폴더에서 하는 것은 권장하지 않습니다 .


답변

이전에 말한 것처럼 1) 현재로 변경 2) xcode 6 설치

이제 brew와 ruby에 더 많은 문제가 있다면 이것이 도움이 될 것입니다. brew는 버전 1.8에서 ruby가 필요하므로 폴더를 만드십시오 :

sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin

심볼릭 링크를 만듭니다.

sudo ln -s /usr/bin/ruby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby


답변

여기에서이 자습서를 살펴보십시오. http://ryantvenge.com/2014/09/ruby-homebrea-yosemite/

그것은 나를 위해 일했습니다!