VSCode 使用错误的 ruby​​ 版本

Mic*_*ran 8 ruby rbenv visual-studio-code

我在 Ubuntu 上使用 VSCode 时遇到问题。我安装了 ruby​​ 扩展和 ruby​​-rubocop 扩展,但是当我在保存时运行 rubocop 扩展时,出现 2 个错误

  • rbenv:未安装版本“2.5.1”(由 RBENV_VERSION 环境变量设置)
  • 命令 /home/{用户名}/.rbenv/shims/rubocop 返回空输出!请检查配置。

我的项目使用通过 rbenv 安装的 ruby​​ 版本 2.7.6。2.5.1 是我安装的旧版本的 ruby​​,后来将其删除。我不明白为什么 VSCode 尝试使用版本 2.5.1。当我通过 bash shell 运行 rubocop 时,它按预期运行。rbenv localrbenv global全部设置为2.7.6我的项目作为.ruby-version2.7.6 设置的文件。

当我在 bash shell 中运行时echo $RBENV_VERSION,我没有返回任何内容,但如果我在 VSCode 内的终端 shell 中运行它,它会返回 2.5.1。

如何让 VSCode 使用正确的 rbenv 版本?

解决方案:

我发现问题是由于某种原因我在 .bash_profile 文件中定义了 RBENV 版本

Kal*_*san 1

我也遇到过这个问题。进一步的症状:rbenv shell要求我执行 rbenv init。这种情况在 VS Code 内部和外部都发生过。我确信我过去曾这样做过,但 init 行不再出现在我的 shell 初始化脚本中。

解决方案是运行rbenv init并按照说明进行操作(即将建议的行添加到.bashrc或适合您的 shell 的相应文件)。

这设置$RBENV_VERSION为正确的版本,从而解决了问题。我不知道为什么这个问题只出现在 VS Code 中,而不出现在常规终端中。