如何在 /usr/local/bin 中为 Homebrew 安装的 Ruby 1.9 gem 二进制文件创建别名?

如何在 /usr/local/bin 中为 Homebrew 安装的 Ruby 1.9 gem 二进制文件创建别名?

Homebrew 的 Ruby 1.9 附带了 ruby​​gems。这样做gem install ...会将文件和二进制文件安装到一些冗长的路径中。例如,bundler 安装在:

/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我就不必手动链接每个二进制文件。这可能吗?

答案1

StackOverflow 上的相关问题:安装 Ruby 宝石无法与 Home Brew 一起使用

这个小一行程序运行完美,并且比查询 brew-info 更快:

export PATH=$(brew --prefix ruby)/bin:$PATH

更多信息我的答案在那里

答案2

# 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)

答案3

我最终在 .bashrc 中添加了以下几行

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

前面提到的 brewbygems 不是您想要的,它是为了让 osx-builtin ruby​​ 和 homebrew 一起很好地运行,而不是如果您通过 homebrew 安装 ruby​​ 本身。

答案4

如果你不想触碰你的点文件,你可以尝试:

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

相关内容