rbenv无法更改全局ruby版本

qod*_*dot 13 ruby rbenv

我的Mac OS X有一个默认的ruby.

$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Run Code Online (Sandbox Code Playgroud)

我安装了rbenv和ruby版本2.1.2.

$ rbenv versions
  system
* 2.1.2 (set by /Users/sdw/.rbenv/version)
Run Code Online (Sandbox Code Playgroud)

我试图将全局ruby版本设置为2.1.2,但没有任何反应.

$ rbenv global 2.1.2
$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Run Code Online (Sandbox Code Playgroud)

所以我试着用命令做同样的事情sudo,但结果是一样的.

$ sudo rbenv global 2.1.2
$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Run Code Online (Sandbox Code Playgroud)

如何将我的全局ruby版本更改为2.1.2?我从未安装过rvm或其他ruby版本管理系统.

spi*_*ann 56

你有没有添加以下几行~/.bash_profile

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
Run Code Online (Sandbox Code Playgroud)

请参阅:https://github.com/sstephenson/rbenv#installation

  • 对于最新版本的 rbenv,此答案不再正确;查看更多最近的问题 /sf/ask/2813940951/#40204828 (2认同)

Ben*_*enj 10

输入$ rbenv version(不带"s")

输出可能会显示锁定版本的文件的路径

2.0.0p451 (set by /path/to/some/directory/.ruby-version)
Run Code Online (Sandbox Code Playgroud)

甚至可能该文件是.ruby-version您当前目录中命名的隐藏文件.如果是这种情况只是删除该.ruby-version文件

  • 我的情况就是这样 - `/.ruby-version` 指定 2.5.5。但问题是,这就是我_想要_的版本。这也是我的本地版本通过 rbenv 设置的。然而,当我尝试安装 gems 或运行“ruby -v”时,我得到 2.3.7,但我不明白为什么。:/ (2认同)

Yoy*_*der 7

在更改 ruby​​ 版本之前运行以下命令:

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
Run Code Online (Sandbox Code Playgroud)

这个对我有用 :)


小智 7

卸载 ruby​​ 然后重新安装:

brew uninstall -f ruby
brew install ruby
Run Code Online (Sandbox Code Playgroud)

将这两行添加到 ~/.bash_profile

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
Run Code Online (Sandbox Code Playgroud)

重新打开控制台就可以了并运行

ruby -v 
Run Code Online (Sandbox Code Playgroud)