是`require“rubygems”`返回`false`好吗?

时间:2015-04-25 12:33:15

标签: ruby rubygems ruby-2.1

要求"rubygems"提供false,但要求"appium_lib"提供true。即,

require 'rubygems' # => false
require 'appium_lib' # => true

这可以吗?这不像试图要求一些真正不存在的东西,即:

require 'does_not_existxxxxxxx' # => LoadError: cannot load such file -- does_not_existxxxxxxx

2 个答案:

答案 0 :(得分:10)

应该没问题。第二次要求文件导致错误响应。对于load,这是另一回事,每次请求时都会loadrequire)文件。

所以它只是意味着irb以rubygems已经开始需要开始,这并不奇怪。

例如,load在Rails的开发模式中被大量使用,因此可以立即显示您的更改。

因为自动需要Ruby 1.9 ruby​​gems。

答案 1 :(得分:3)

当你require宝石时,你真的只是把那个宝石的 lib 目录放在 $ LOAD_PATH 上。如果它返回false,那意味着它已经在你的 $ LOAD_PATH 中。

Requiring a Gem