为什么 chruby 不保存我的默认 Ruby?

Why isn't chruby saving my default Ruby?

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

当我 运行 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?

设置默认版本

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

当前 .ruby 版本文件如下所示:

2.1.2

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

在 Shell 初始化时调用 Chruby

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

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

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

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

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

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

示例: chruby u ruby-3.0.0

#=> * ruby-3.0.0