有没有办法在Ruby中为整个gem重新加载所有必需的库/文件?

有没有办法在Ruby中为整个gem重新加载所有必需的库/文件?,ruby,rubygems,Ruby,Rubygems,我在ruby中为类添加了新方法,我想重新加载整个项目,而不是将我使用的每个实例“require”更改为“load”。有没有办法强制整个项目重新加载文件,以便我的命令行脚本使用最新的更改,而不是以前加载的缓存 我试过: 加载“path/to/file.rb” 但我不想每次都重新加载该文件,我只想为了开发目的重新加载它。听起来你好像做错了什么 您不应该修补require方法,也不应该使用load而不是require 如果您正在使用命令行界面构建自己的gem,那么您应该能够自由编辑gem的lib文件夹

我在ruby中为类添加了新方法,我想重新加载整个项目,而不是将我使用的每个实例“require”更改为“load”。有没有办法强制整个项目重新加载文件,以便我的命令行脚本使用最新的更改,而不是以前加载的缓存

我试过: 加载“path/to/file.rb”


但我不想每次都重新加载该文件,我只想为了开发目的重新加载它。

听起来你好像做错了什么

您不应该修补
require
方法,也不应该使用
load
而不是
require

如果您正在使用命令行界面构建自己的gem,那么您应该能够自由编辑gem的
lib
文件夹中的任何文件,并且它将在下次运行命令行时使用。没有缓存的版本


如果这不是您看到的行为,请尝试使用
bundle exec-your\u命令运行命令行,而不仅仅是
your\u命令
。顺便说一句,如果您的Ruby安装了RVM,您就不需要bundle exec了,听起来您好像做错了什么

您不应该修补
require
方法,也不应该使用
load
而不是
require

如果您正在使用命令行界面构建自己的gem,那么您应该能够自由编辑gem的
lib
文件夹中的任何文件,并且它将在下次运行命令行时使用。没有缓存的版本


如果这不是您看到的行为,请尝试使用
bundle exec-your\u命令运行命令行,而不仅仅是
your\u命令
。顺便说一句,如果您的Ruby安装了RVM,您将不需要
bundle exec

我建议只修补require方法本身来调用load,但问题是gems和stdlib不适用于load。我不知道还有什么比重新启动应用程序或用load替换特定的require调用更好的方法。我建议只修补require方法本身来调用load,但问题是gems和stdlib不能与load一起工作。我不知道还有什么比重新启动应用程序或用Load替换特定的require调用更好的方法。我正在编辑lib中的文件,但当我尝试通过命令行运行命令时,它表示找不到该类的方法。我正在编辑lib中的文件,但当我尝试通过命令行运行命令时,它表示该方法找不到该类的。