gpt4 book ai didi

ruby - RVM 必须 cd 到目录才能根据 .ruby-version 和 .ruby-gemset 更改 gemset

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:02 26 4
gpt4 key购买 nike

我发现 RVM 有一个奇怪的行为,不知道如何处理它。

如果我恰好在项目的根目录中打开终端,RVM 似乎无法根据 .ruby-version & .ruby-gemset 自动更改其 gemset。请复习我的意思

# open a terminal directly in terminal_ui directory, which contains .ruby-version & .ruby-gemset

ls -a # ... .ruby-version .ruby-gemset
rvm gemset list
gemsets for ruby-2.2.1 (found in /home/epic/.rvm/gems/ruby-2.2.1)
=> (default)
fasteria
global
terminal
terminal_ui

# but if I cd to the top and then back again, my gemset will be

cd ../
cd terminal_ui
rvm gemset list
gemsets for ruby-2.2.1 (found in /home/epic/.rvm/gems/ruby-2.2.1)
(default)
fasteria
global
terminal
=> terminal_ui

有用信息:

 cat .ruby-version # => 2.2.1
cat .ruby-gemset # => terminal_ui
rvm -v # => rvm 1.26.11

我试过 rvm get stable,但没有成功。

最佳答案

RVM 使用多个钩子(Hook)来根据用户操作更改 ruby​​ 版本和 gemsets:

  • 使用后
  • 安装前
  • 安装后
  • after_do(在任何'do' Action 之后触发)
  • after_cd(每当用户使用 cd 命令时触发)

当您只在项目文件夹中打开终端时,您不使用命令,因此不会调用 Hook 。但是您可以在 .bashrc.bash_profile 文件中添加以下行(在 RVM 相关行之后):

cd .

这将导致 RVM 使用其钩子(Hook)并设置正确的 gemset。有关 Hook 的更多信息:docs .

关于ruby - RVM 必须 cd 到目录才能根据 .ruby-version 和 .ruby-gemset 更改 gemset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30591281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com