加载红宝石的文件夹在哪里



在 Ruby 代码中,require 语句,例如

需要"休息客户端">

应从红宝石加载路径加载红宝石。但是,当通过 ruby 加载路径搜索时,我没有看到任何 rest-client gem?那么红宝石代码是如何知道红宝石宝石在哪里的呢?

IRB(主(:001:0> $LOAD_路径

=> ["/home/abc/.rbenv/rbenv.d/exec/gem-rehash", ......]

RubyGems 猴子补丁Kernel#require,以便它会尝试在 gem 路径中找到包含该文件的 gem,然后"激活"该 gem,这基本上意味着将该 gem 的库目录添加到加载路径中。

换句话说,当您调用 require 时,您不会从核心库中调用require,而是从 RubyGems 调用require,这会覆盖核心库中的。RubyGems 的require知道如何搜索宝石。

最新更新