我在 Ubuntu 上使用 VSCode 时遇到问题。我安装了 ruby 扩展和 ruby-rubocop 扩展,但是当我在保存时运行 rubocop 扩展时,出现 2 个错误
我的项目使用的是通过 rbenv 安装的 ruby 版本 2.7.6。 2.5.1 是我安装的旧版本的 ruby,后来将其删除。我不明白为什么 VSCode 尝试使用版本 2.5.1。当我通过 bash shell 运行 rubocop 时,它按预期运行。
rbenv local
和rbenv global
都设置为2.7.6
,我的项目作为2.7.6集的.ruby-version
文件。
当我在 bash shell 中运行
echo $RBENV_VERSION
时,我没有返回任何内容,但是如果我在 VSCode 内的终端 shell 中运行它,它会返回 2.5.1。
如何让 VSCode 使用正确的 rbenv 版本?
解决方案:
我发现问题是由于某种原因我在 .bash_profile 文件中定义了 RBENV 版本
我也遇到过这个问题。进一步症状:
rbenv shell
要求我执行rbenv init。这种情况在 VS Code 内部和外部都发生过。我确信我过去曾这样做过,但 init 行不再出现在我的 shell 初始化脚本中。
解决方案是运行
rbenv init
并按照说明进行操作(即将建议的行添加到 .bashrc
,或适合您的 shell 的相应文件)。
这会将
$RBENV_VERSION
设置为正确的版本,从而解决问题。我不知道为什么这个问题只出现在 VS Code 中而不出现在常规终端中。