Ruby 3.0升级后binding.pry无法正常显示断点及响应命令求助
Ruby 3.0 + Rails 6.1下恢复binding.pry正常调试的方案
问题根源是你用的pry系列gem版本太老,不兼容Ruby 3.0。直接按下面步骤操作就能解决:
- 更新Gemfile里的pry相关版本
把原有的pry、pry-byebug、pry-rails版本替换成兼容Ruby 3.x的版本,修改后的Gemfile片段如下:
ruby '>=3.0' gem 'rails', '~> 6.1' gem 'pry', '~> 0.14' gem 'pry-byebug', '~> 3.10' gem 'pry-rails', '~> 0.3.9' gem 'rdoc', '>= 6.3.1' gem 'webrick', '~> 1.8'
- 执行bundle更新
在终端运行命令更新这些gem:
bundle update pry pry-byebug pry-rails
- 验证调试效果
重启你的Rails服务,触发包含binding.pry的代码逻辑,此时控制台应该会正常显示断点所在的代码上下文(就像你期望的那样),输入调试命令也能正常执行,不会直接跳过流程。
如果更新后还是有问题,可以试试清除bundle缓存后重新安装:
bundle clean --force bundle install
内容的提问来源于stack exchange,提问作者Caterpillar
相关产品推荐
相关产品推荐

