【问题标题】:Why isn't chruby saving my default Ruby?为什么 chruby 不保存我的默认 Ruby?
【发布时间】:2016-02-23 22:07:36
【问题描述】:

我正在设置一台新机器并尝试使用 chruby 安装 Ruby。我使用 ruby​​-install 来安装 ruby​​ 2.3 和 2.1.2,因为这是我团队中的其他人正在运行的。

当我运行chruby 时,我得到:

ruby-2.1.2 ruby-2.3.0

然后我运行:

chruby ruby-2.1.2

和:

$ chruby
* ruby-2.1.2
  ruby-2.3.0

$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin14.0]

问题是当我关闭终端并再次打开它时,默认的 Ruby 版本会回到 ruby​​-2.3.0。如何使用 chruby 设置默认版本?

【问题讨论】:

  • 听起来chruby 存根在您创建外壳时没有被正确激活。确定安装成功了吗?
  • 我将如何检查?当我运行 chruby 时,它会找到命令并运行它......对不起,我还是 mac 新手。我用自制软件安装了它
  • 我比较熟悉rvmrbenv,但它们的工作原理都是一样的。 installation instructions 包含一个步骤,您必须在其中添加一行到 ~/.bashrc。是你做的吗?很容易错过。
  • 我在 .bashrc 中试过,然后我把它移到 ~/.bash_profile 它是: source /usr/local/opt/chruby/share/chruby/chruby.sh source /usr/local/opt /chruby/share/chruby/auto.sh
  • 我必须要有一个 .ruby_version 文件吗?

标签: ruby ruby-install chruby


【解决方案1】:

在 Shell 初始化时调用 Chruby

​​>

与 RVM 或其他 Ruby 管理器不同,chruby 并没有真正的“默认”Ruby 概念。您需要在每个 shell 初始化期间实际定义一个。为此,您需要:

  1. 获取 chruby.sh 脚本。
  2. 选择要导出到您的环境的默认 Ruby。

例如,您可以将以下内容添加到 shell 的 ~/.bashrc 或其他交互式 shell 启动文件中:

. /usr/local/share/chruby/chruby.sh
chruby ruby-2.3.0

【讨论】:

    【解决方案2】:

    所以,到目前为止我发现的解决方法是在我的主目录中放入一个 .ruby-version 文件。

    目前 .ruby-version 文件如下所示:

    2.1.2

    ...就是这样,只是我希望默认使用的 ruby​​ 版本号。

    【讨论】:

      【解决方案3】:

      使用chruby 列出Ruby 版本。然后输入chruby [version](在我的例子中是chruby ruby-2.6.5)。

      【讨论】:

        【解决方案4】:

        要设置 chruby 默认的 ruby​​ 版本,您需要使用 "u" glob 限定符。

        示例: chruby u ruby-3.0.0

        #=> * ruby-3.0.0

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-15
          • 1970-01-01
          • 2016-07-29
          • 1970-01-01
          相关资源
          最近更新 更多