/ usr / local / bin에 Homebrew가 설치된 Ruby 1.9 gem 바이너리의 별칭을 어떻게 지정합니까?


8

Homebrew의 Ruby 1.9는 rubygems와 함께 제공됩니다. 그렇게하면 gem install ...파일과 바이너리가 긴 경로에 설치됩니다. 예를 들어, 번 들러는 다음 위치에 설치됩니다.

/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/bin/bundle

내가 가지고 싶은 gem자동으로 같은 일반적인 위치에이 바이너리 심볼릭 링크 /usr/local/bin내가 수동으로 바이너리의 각 연결하지 않도록합니다. 이게 가능해?

답변:


5
# Install 1 or more gems
gem install rails
gem install aws-sdk
# Then run these 2 commands to create bin links
brew unlink ruby
brew link ruby
# Finally open a new terminal session (no idea why but it worked for me)

실제로 gem bin이 자동 완성되지 않더라도 입력 할 수 있습니다. 경로에 있습니다. 터미널 세션을 다시 시작할 필요가 없습니다.
Brice

Homebrew는 더 이상 OS X에서 제공하는 바이너리 바이너리를 거부하므로 루비를 연결하지 않습니다. 루비 바이너리를 경로에 넣을 수 있지만 gem에서 제공하는 바이너리는 추가하지 않습니다.
GDorn


4

.bashrc에 다음 줄을 추가했습니다.

RUBY_BINDIR=`brew info ruby|grep /bin|tr -d ' '`
export PATH=$RUBY_BINDIR:$PATH

위에서 언급 한 brewbygems는 당신이 원하는 것이 아니며, osx 내장 루비와 homebrew가 함께 잘 작동하는 것을 의미합니다. homebrew를 통해 루비 자체를 설치 한 경우가 아닙니다.


이것은 내부적으로 macs 내장 루비 버전을 사용했기 때문에 나침반 프로젝트를 컴파일하는 동안 나침반 플러그인의 가져 오기 실패 문제를 해결했습니다.
jfd

1

이것은 나를 위해 일했다 : brewbygems

나는 그 사이트의 지시에 따라 루비 보석을 설치하기 전에 'brewbygems'보석을 설치했다. 내가 알 수있는 한, brewbygems는 보석 시스템을 Homebrew를 인식하도록 확장합니다. 그런 다음 gem이 설치 될 때 바이너리의 심볼릭 링크를 처리합니다.


3
이것이 왜 효과 가 있었는지 더 많은 정보를 추가하십시오 .
ChrisF

더 자세한 답변을 업데이트했습니다. 그 질문에 대답합니까?
Andy Jackson

0

도트 파일을 터치하지 않으려면 다음을 시도하십시오.

brew unlink ruby && brew link ruby

새로운 gem 바이너리 바이너리 심볼릭 링크가 생성됩니다 :

Unlinking /usr/local/Cellar/ruby/2.0.0-p0... 20 links removed
Linking /usr/local/Cellar/ruby/2.0.0-p0... 25 symlinks created
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.