ruby-on-rails - RVM 在 VS Code 调试器中无法正常工作
问题描述
我正在使用 RVM 来管理我工作的 Ruby 版本。我们有两个 Rails 存储库,一个桌面和一个移动。桌面存储库使用 Ruby 2.2.4,移动存储库使用 2.2.2。
我知道 RVM 具有自动切换 Gemfile 中指定的适当 Ruby 版本的功能(在我们的例子中,这在两个 Gemfile 中都指定了)。
现在,当我使用默认终端并ruby -v
在各个项目根目录中运行命令时,它会显示适当的版本。但是当我在 VS 终端中执行相同操作时,它会显示默认版本,即 2.2.4。
现在我的主要问题是 Rails 调试器给了我以下错误:Your Ruby version is 2.2.4, but your Gemfile specified 2.2.2
每当我尝试使用 VS 调试器时移动存储库。我怀疑这是因为我上面提到的任何事情。
是这种情况还是另一个问题?还提供任何问题的解决方案。
解决方案
找到版本问题的解决方案。事实证明,如果您通过 GUI 打开 VS Code,那么 VS Code 会使用默认版本的 Ruby。但是,如果您使用 CLI 通过进入项目目录然后键入 来打开它code .
,它会使用 Gemfile 中指定的版本。
我的猜测是,当您cd
进入项目目录时,RVM 会进行 Ruby 版本切换,因此 VS Code 使用该切换版本,因为 VS Code 的实例是由执行切换的同一进程创建的。注意:我对 Linux 进程了解不多,如果我错了,请随时纠正我。
推荐阅读
- batch-file - 如何使上下文菜单上的批处理脚本在 UNC 路径上工作?
- python - Python中的阴影模式测试
- mysql - 如何知道 MYSQL 中特定数据库的数据库大小?
- mysql - 如果列中重复值,则创建触发器阻止插入或更新
- django - 如何在管理面板中设置标志以标记激活的用户
- sql - SQL Server 以及如何将行转换为列
- asp.net-core - 如何使用 FormData 将文件和数据数组发送到 API 服务器
- c++ - OpenGL glDrawArraysInstanced 比 glDrawElementsInstanced 更快:有没有办法让 glDrawElementsInstanced 更快?
- r - OSM - XML 文件中的标签之间的迭代
- nginx - NGINX 反向代理失败并出现 404