手动修改Ruby库后程序仍用旧代码,如何更新库?
Ruby库修改后不生效的解决办法
先确认是否重新安装了本地开发的gem。Ruby gem安装后会把文件复制到系统/用户的gem目录,直接修改/lib下的源码,运行时加载的是已安装版本而非本地修改文件。执行以下命令重新安装:
gem build [你的gem名].gemspec gem install --local [生成的gem文件名].gem若不想每次修改都重新安装,可使用
bundle exec强制加载本地源码:- 项目根目录创建/修改Gemfile,添加:
gem '[你的gem名]', path: '.' - 运行命令:
bundle exec bin/ruby-hyphen -V "this is a test sentence"
- 项目根目录创建/修改Gemfile,添加:
检查加载路径,确认是否优先加载本地/lib目录:
ruby -e 'puts $LOAD_PATH'若本地/lib不在靠前位置,说明运行时还是加载了已安装的gem版本。
你删除
end关键字程序没崩溃,本质是运行时没加载修改后的文件——如果加载了语法错误的代码,Ruby会直接抛出SyntaxError。
内容的提问来源于stack exchange,提问作者Anes
相关产品推荐
相关产品推荐

