如何使用 rbenv 在不使用 sudo 的情况下全局安装 gem?

How to install a gem globally without sudo using rbenv?

我正在使用 rbenv,我正在尝试安装 sass 但没有成功。

因此,我通过 Homebrew 安装了 rbenv,然后是 Ruby 2.2 (rbenv install 2.2),最后是 gem install sass,但我无法制作 sass 在我的 $PATH.

上可用

时间紧迫,我 sudo gem install sass 使用我的系统 (Yosemite) 默认值 Ruby 2. 这将所有内容都放入 /Library/Ruby/Gems/2.0.0 并且一切正常,但不是最理想的方式。

理想情况下,使用 rbenv 我应该能够安装任何 Ruby 版本并将 gems 安装在该版本的目录中,然后符号链接到 /usrl/local/bin

如能就可能出现的问题提供任何帮助,我们将不胜感激。

基本上,问题是我没有将 rbenv/bin/rbenv 添加到 $PATH

export PATH="$HOME/.rbenv/bin:$PATH"

更好的是,将此添加到您的 .bashrc.bash_profile 以开始每个会话 rbenv

之后,确保:

eval "$(rbenv init -)"

为了启用垫片和自动完成。

鱼壳

对于使用 fish 的用户,您可以像这样完成同样的操作:

if status --is-interactive
  . (rbenv init - | psub)
end

现在,如果您不喜欢直接修改 $PATH 并且拥有 /usr/local/bin 的所有权,一个更巧妙的解决方案是与 ~/.rbenv/bin/rbenv.

进行符号链接
 ln -s ~/.rbenv/bin/rbenv /usr/local/bin

ruby-建造

作为最后的警告,请务必安装 ruby-build(一个 rbenv 插件,用于将 install 命令添加到 rbenv 并能够轻松安装 Ruby 个版本。)

如果您使用的是 homebrew,那就太简单了:

brew install ruby-build