ruby-on-rails - 如何从 Visual Studio Code 运行和调试 Ruby on Rails?

标签 ruby-on-rails ruby ruby-on-rails-3 visual-studio-code environment-variables

  • 如何使用内置的 Visual Studio Code 启动/调试功能启动 Ruby on Rails?

  • 如何修复 Debugger terminal error: Process failed: spawn rdebug-ide ENOENT 错误?

最佳答案

设置和启动

  1. 安装 VS Code Ruby plugin (在 macOS 上按 ++Pctrl++P 别处并在提示中输入 ext install,然后搜索 ruby)
  2. 安装一些必需的 Ruby gem
gem install ruby-debug-ide
gem install debase
  1. 添加 launch configuration在 Visual Studio Code 中(示例配置如下所示)
{
    "name": "Rails server",
    "type": "Ruby",
    "request": "launch",
    "cwd": "${workspaceRoot}",
    "program": "${workspaceRoot}/bin/rails",
    "env": {
        "PATH": "YOUR_PATH_HERE",
        "GEM_HOME": "YOUR_GEM_HOME_HERE",
        "GEM_PATH": "YOUR_GEM_PATH_HERE",
        "RUBY_VERSION": "YOUR_RUBY_VERSION_HERE"
    },
    "args": [
        "server"
    ]
}

In some cases you might not need to specify the env section. In other cases you can launch VS Code using the CLI (i.e. from the terminal), which on some systems automatically sets the correct environment variables.

  1. 快跑!

疑难解答

如果出现以下错误

Debugger terminal error: Process failed: spawn rdebug-ide ENOENT

您的环境变量 (env) 很可能没有设置,插件找不到必要的二进制文件。

  1. 确保所有 gem 都已安装,如果您使用 bundler ,请尝试运行 bundler install --binstubs
  2. 确保在您的启动配置中设置了 env 部分。运行以下 shell 命令以生成您的 env:
printf "\n\"env\": {\n  \"PATH\": \"$PATH\",\n  \"GEM_HOME\": \"$GEM_HOME\",\n  \"GEM_PATH\": \"$GEM_PATH\",\n  \"RUBY_VERSION\": \"$RUBY_VERSION\"\n}\n\n"

window

确保使用正确的 path 变量拼写(和大小写),即 Windows 上的 Path


来源:

关于ruby-on-rails - 如何从 Visual Studio Code 运行和调试 Ruby on Rails?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51722136/

相关文章:

rails def 中的 Javascript/Jquery 选择器 ($)

ruby - 设计模式/关于构建规则引擎的建议

javascript - 导轨 : accessing a non-instance variable in js. erb

ruby-on-rails - Heroku 迁移 : type modifier is not allowed for type "bytea"

ruby-on-rails - Squeel 和 rails... 动态 where 子句

ruby-on-rails - Rspec:2 级嵌套资源的 Controller 规范

ruby-on-rails - 在 Rails View 中检查 nil 字符串

ruby - 如何抓取由 JavaScript 添加的动态内容的网页?

ruby-on-rails - flickr gem rails 3

css - file.css.scss 和 file.scss 之间的区别(Rails)