首页 > 解决方案 > RVM 通过 repo 文件自动检测 Ruby 版本的功能在 VSCode 登录 shell 终端中不起作用

问题描述

RVM 具有检测和使用正确 Ruby 版本的功能,例如基于.ruby-versionrepo 中的文件。这需要我在 VSCode 中通过以下方式启用的登录 shell:

"terminal.integrated.shell.linux": "bash",
"terminal.integrated.shellArgs.linux": ["--login"],

但是默认情况下该功能不起作用,我cd .每次打开终端时都必须像它不是登录 shell 一样。

关于 gnome shell 中的新选项卡也有类似的问题:https ://github.com/rvm/rvm/issues/2519

我想知道是否有其他人遇到过这个问题,这是否可能是 VSCode 或 RVM 的问题?

标签: rubyvisual-studio-codervm

解决方案


默认情况下这不起作用的原因是 rvm 在 shell 中挂接了 cd 命令来为您的项目设置 ruby​​/gem 路径,并且 VS Code 终端打开时没有向 shell 发出 cd 。

我能够在我的 Linux 系统上解决这个问题,方法是按照问题中的建议添加登录设置,然后cd .在我的 ~/.bash_profile 的末尾添加一个简单的,在实际设置 RVM 的部分之后。

这样做会导致 rvm 正确调整 VS Code 终端中的路径。


推荐阅读