Ruby 1.9.3p327/Rails3.2.11环境下Sublime Ruby-debugger插件问题求助
我来帮你搞定这个调试器的问题~ 你遇到的情况是因为Sublime的Ruby-debugger插件默认可能还在找旧的ruby-debug19 gem,但你装的是它的替代版本debugger(专门适配Ruby 1.9.x的),插件没自动识别到。试试下面这些步骤:
1. 配置Sublime Ruby-debugger插件指向debugger gem
打开Sublime Text,依次点击 Preferences > Package Settings > Ruby Debugger > Settings - User,在配置文件里添加以下内容(注意替换成你实际的gem路径):
{ "debugger_path": "${project_path}/vendor/bundle/ruby/1.9.1/gems/debugger-1.6.1/bin/rdebug" }
这里的1.9.1是Ruby 1.9.3对应的gem目录版本号,debugger-1.6.1要和你Gemfile.lock里的版本完全一致。
2. 手动启动调试服务器并连接
不用依赖插件的启动按钮,先在项目终端里用debugger启动Rails服务器:
bundle exec rails server --debugger
启动成功后,回到Sublime Text,打开命令面板(快捷键Ctrl+Shift+P),输入Ruby Debugger: Connect to Debugger,就能连接到正在运行的调试服务器了,断点也能正常触发。
3. 验证debugger gem的安装状态
先确认你的debugger gem是否正确安装:在项目目录下运行
bundle exec rdebug -v
如果能输出debugger 1.6.1的版本信息,说明安装没问题。如果报错,先卸载再重新安装:
bundle uninstall debugger bundle install
安装时如果出现编译错误,记得补全依赖:
- Mac用户:运行
xcode-select --install安装Xcode Command Line Tools - Linux用户:安装
ruby-devel包(CentOS用yum install ruby-devel,Ubuntu用apt-get install ruby-dev)
4. 更新Sublime插件到兼容版本
有些旧版的Ruby-debugger插件只支持ruby-debug19,你可以通过Package Control检查插件是否有更新,更新到最新版本后再尝试。如果还是不行,也可以考虑换用更适配新版debugger的Sublime调试插件。
内容的提问来源于stack exchange,提问作者HK15

