You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby脚本引入Pry报LoadError,rbenv环境下求排查方案

解决Ruby控制台脚本加载Pry的LoadError问题

这问题我之前在写独立Ruby脚本时也碰到过——核心原因是普通Ruby脚本不会像Rails那样自动加载Bundler管理的gem环境,Rails启动时已经集成了Bundler的加载逻辑,所以你之前在Rails里用Pry没出过问题。下面给你几个可行的解决办法:

方法1:用bundle exec运行脚本

这是最直接的解决方案,让Bundler帮你接管gem的加载环境,确保脚本使用Gemfile里指定的Pry版本:

bundle exec ruby calculator/rpn_calculator_service.rb

运行时Bundler会自动读取Gemfile的配置,加载对应版本的Pry,就不会出现找不到文件的错误了。

方法2:在脚本开头手动引入Bundler

如果不想每次都敲bundle exec,可以在脚本的最顶部添加一段代码,让脚本自己加载Bundler环境:

# 脚本最顶部添加
require 'bundler/setup'
Bundler.require(:development) # 按需指定环境,比如同时加载test环境就写:development,:test

# 然后再写你的调试代码
require 'pry'; binding.pry

这样脚本运行时会先加载Gemfile里对应环境的所有gem,自然就能找到Pry了。

方法3:排查gem安装状态(兜底检查)

如果上面两种方法都不管用,可以先确认Pry是否真的安装到了当前rbenv环境里:

rbenv exec gem list pry

如果输出里没有pry (0.10.x)的记录,说明gem没安装成功,回到Gemfile所在目录执行:

bundle install

另外别忘了确认当前rbenv使用的是2.3.1版本:

rbenv version

如果不是,用rbenv local 2.3.1切换到指定版本后再重新安装gem。


内容的提问来源于stack exchange,提问作者gangelo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:31:32