Yosemite에서 Ruby / Homebrew / RVM을 작동 시키려면 어떻게해야합니까?
Yosemite를 설치 한 후, brew 또는 ruby를 실행할 수 없었습니다.
brew update 에서이 오류가 발생했습니다.
/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
추출을 아직 변경하지 않은 경우 여기에 내가 권장하는 것이 있습니다. 그렇지 않으면 아래에서 더 자세히 읽으십시오.
cd /System/Library/Frameworks/Ruby.framework/Versions/
sudo ln -s Current 1.8
brew update
sudo unlink 1.8
이미 추출 파일을 변경하고 자식 혼란에 빠졌습니까?
편집하려고했지만 /usr/local/Library/brew.rb
git repo의 로컬 변경으로 인해 brew update
업데이트 가 풀리지 않았습니다 . 나는이 페이지와 다른 사이트에서 언급 한 다른 솔루션을 시도했고 결국 git mess로 끝났고 내가하고 싶었던 것은 양조하기 위해했던 모든 것을 취소했다.
나는 변화를 저질렀지만 상황이 악화되었다. 결국 나는 커밋을 취소 git reset --hard HEAD~1
하고 올바른 커밋에 도달 할 때까지 해야했다 . 버전이없는 파일도 엉망이되었습니다 (/ usr / Local에서 파일 권한을 변경했습니다). git clean -f -d
버전이없는 파일과 디렉토리를 모두 제거하고 변경하기 전에 시작한 곳으로 돌아 왔습니다.
수정 단계 :
Xcode 6 용 명령 줄 도구 설치
추출을 다시 설치하십시오.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
추출이 설치되면 rvm이 작동합니다.
rvm install ruby
나를 위해 일했다, 야후!
Editing the script means brew update
won't work; there are local edits to tracked files which causes the git pull
to fail.
I did this, which I suspect is cleaner:
cd /usr/local/Library
git pull -q origin refs/heads/master:refs/remotes/origin/master
There are no complaints from brew doctor
.
This is a conglomeration from answers from other people's posts as well as a bit of digging on Google, but I figured I'd put it up so a complete answer is in one place. Specifically this gets things to work now, but also lets you do brew updates as normal and gets everything clean again.
- Open /usr/local/Library/brew.rb (emacs/vi/nano/whatever)
- Change the first line to read:
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
. You're just changing the "1.8" that was in that line to "Current" (make sure you keep the capital "C" otherwise git will get confused later). cd $(brew --repository)
git add Library/brew.rb
git commit -m "upgrading to ruby 2.0"
brew update
(orsudo brew update
if your brew is setup to only do system changes with sudo)
Credit: a lot of this came from here, though I really recommend against doing git commit -am
in your /usr/local folder.
Like the one before said: 1) Change to current 2) install xcode 6
If you now have further problems with brew and ruby this should help: Somehow brew needs ruby on version 1.8, so create the folder:
sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin
and make a symlink:
sudo ln -s /usr/bin/ruby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
Take a look at this tutorial here: http://ryantvenge.com/2014/09/ruby-homebrea-yosemite/
It worked for me!
I fixed this as follows:
sudo chown -R $(whoami):admin /usr/local
cd $(brew --prefix) && git fetch origin && git reset --hard origin/master
brew update error can be fixed with this:
sudo chown -R $USER:admin /usr/local
cd /usr/local
git reset --hard origin/master
brew update
https://github.com/Homebrew/homebrew/issues/19140
Note: Only do the below if you end up in a completely failed state, as this is very DANGEROUS
As an example I kept getting
$ sudo ln -s Current 1.8
$ brew update
/usr/local/Library/brew.rb:18:in ': undefined method help?’ for [“update”]:Array (NoMethodError)
I just get this…(no matter what command just switch out “update” with the command) I solved the problem by asking for a buddies /usr/local
folder. I then made a backup of my /usr/local
folder.
sudo mv /usr/local /usr/local.orig
I then moved his /usr/local
to mine
sudo mv ~/Downloads/local /usr/local
Note: You will likely lose some data so make sure to make a backup.
I had problems trying to install Ruby using package managers. In fairness to these programs, I admit to having little experience with them and did not make the effort to dig deeper as most of the other responders did. I'm lazy and prefer to use a binary installer available for most opsys choices and many packages. Unfortunately, Ruby doesn't seem to supply one.
I found ruby-build easy to install (stand alone - not the plugin), and it built Ruby from sources without error and placed it where I wanted it.
Bingo - easy:) This looks like a good alternative for those of us of the package manager challenged persuasion.
Charlie
참고URL : https://stackoverflow.com/questions/24225959/how-to-get-ruby-homebrew-rvm-to-work-on-yosemite
'programing tip' 카테고리의 다른 글
CodeIgniter : 컨트롤러, 액션, URL 정보를 얻는 방법 (0) | 2020.07.16 |
---|---|
HTML 링크에서 PDF 파일을 다운로드 할 수있게 만드는 방법은 무엇입니까? (0) | 2020.07.16 |
DateTime에서 일 빼기 (0) | 2020.07.16 |
왜 학교에서 이런 것들을 가르치지 않습니까? (0) | 2020.07.16 |
JavaScript를 사용하여 문자열에서 공백을 제외한 모든 특수 문자를 제거하십시오. (0) | 2020.07.16 |