【问题标题】:rbenv can't change global ruby versionrbenv 无法更改全局 ruby​​ 版本
【发布时间】:2014-07-14 12:06:22
【问题描述】:

我的 Mac OS X 有一个默认的 ruby​​。

$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]

我安装了 rbenv 和 ruby​​ 版本 2.1.2。

$ rbenv versions
  system
* 2.1.2 (set by /Users/sdw/.rbenv/version)

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

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

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

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

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

【问题讨论】:

标签: ruby rbenv


【解决方案1】:

您是否在~/.bash_profile 中添加了以下行?

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

见:https://github.com/sstephenson/rbenv#installation

【讨论】:

  • 这个答案对于最新版本的 rbenv 不再正确;查看更多最近的问题stackoverflow.com/questions/40199156/…
  • @dcorking:我不确定我是否同意你的评论。首先,目前 rbenv 的文档仍然告诉添加该行。其次,该文件夹确实存在于我的机器上。我想这取决于某人如何安装 rbenv。
  • rbenv 的文档不一致,完全不建议将其用于自制软件安装。在 github 结帐的下一步中,它显示“运行 ~/.rbenv/bin/rbenv init”,这使得在路径前添加 bin 是不必要的。让我们尝试不使用自制软件并提交 Pull Request。
  • 这对我有用,非常感谢!
【解决方案2】:

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

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

它对我有用:)

【讨论】:

    【解决方案3】:

    键入$ rbenv version(不带“s”)

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

    2.0.0p451 (set by /path/to/some/directory/.ruby-version)
    

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

    【讨论】:

    • 在我的情况下这是正确的答案,谢谢@Benj
    • 这就是我的情况 - /.ruby-version 指定 2.5.5。但问题是,这就是我想要的版本。这也是我的本地版本通过 rbenv 设置的。然而,当我尝试安装 gems 或运行ruby -v 时,我得到了 2.3.7,但我不知道为什么。 ://
    【解决方案4】:

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

    brew uninstall -f ruby
    brew install ruby
    

    将这两行添加到你 ~/.bash_profile

    export PATH="$HOME/.rbenv/bin:$PATH"
    eval "$(rbenv init -)"
    

    重新打开控制台,然后运行

    ruby -v 
    

    【讨论】:

      【解决方案5】:

      我意识到我偶尔会在主文件夹中设置本地 ruby​​ 版本,我默认使用终端 :) 所以这对我有用:

      rm /home/MYUSERNAME/.ruby-version
      

      【讨论】:

        【解决方案6】:

        我遇到了同样的问题(“ruby -v”显示初始版本),但重新加载(退出/启动)我的终端成功了。

        你先尝试过吗?

        【讨论】:

          【解决方案7】:

          而不是:
          rbenv 全球 2.7.1
          做:
          sudo rbenv 全球 2.7.1

          【讨论】:

          • OP 已经尝试过这个:“所以我尝试用命令 sudo 做同样的事情,但结果是一样的。”
          • 它对我有用,我的理由是“benv global”需要更新权限。如果我发现了新的东西,我会告诉你的。
          【解决方案8】:

          如果您在 ubuntu 上安装 ruby​​ on rails,并且您的 rbenv 不会更改您的 ruby​​ 版本

          > rbenv list # This lists all the rbenv versions available
          
          • 2.6.8
          • 2.7.4
          • 3.0.2
          • jruby-9.3.1.0
          • mruby-3.0.0
          • rbx-5.0
            -truffleruby-21.3.0
            -truffleruby+graalvm-21.3.0

          就我而言,我需要安装 ruby​​ 3.0.2

          rbenv install 3.0.2
          

          在这之后它也显示 ruby​​ v [2.7.0-]

          rbenv global 3.0.2
          

          这将帮助您更改 ruby​​ 版本。

          【讨论】:

            猜你喜欢
            • 2012-12-02
            • 1970-01-01
            • 2012-06-12
            • 2018-01-03
            • 1970-01-01
            • 2023-03-11
            • 2018-04-16
            • 1970-01-01
            相关资源
            最近更新 更多