chruby 未根据新终端选项卡上 .ruby-version 中的值更改为正确版本的 ruby

pix*_*rth 1 ruby chruby

我正在使用 source /usr/local/opt/chruby/share/chruby/auto.sh 将 ruby​​ 自动更改为 .ruby-version 中的版本,但不幸的是,这只适用于 cd。

当我在我的 mac 终端中打开一个新选项卡时,它会打开我在上一个选项卡中所在的同一目录,但自动更改不起作用。我对此的解决方案是返回cd ..cd返回,这会触发更改。显然,这很烦人。

我尝试chruby_auto在新选项卡中手动调用该函数,但这没有效果。

在这种情况下,有人可以提供如何更新我的 ruby​​ 版本的解决方案吗?我更喜欢自动解决方案,但会满足于调用命令。

pix*_*rth 6

实际上没关系,我按照 .bashrc 中这些调用的顺序将其追溯到一个问题

不正确:

source /usr/local/opt/chruby/share/chruby/chruby.sh
source /usr/local/opt/chruby/share/chruby/auto.sh
chruby ruby-2.3.0 
Run Code Online (Sandbox Code Playgroud)

我发现你必须在默认行之后调用自动行。请注意,默认行也必须在 chruby.sh 行之后。

正确的:

source /usr/local/opt/chruby/share/chruby/chruby.sh
chruby ruby-2.3.0 # default order important, if comes after auto.sh, will undo the auto change
source /usr/local/opt/chruby/share/chruby/auto.sh
Run Code Online (Sandbox Code Playgroud)

所以我想把这个答案留在这里给后代吧