什么是“需要”默认查找的path?

在Ruby中,我被告知,在做

require "some_file" 

Ruby会在某些地方查找这个文件。

我知道它寻找some_file.rb ,但它在哪里寻找默认?

5 Solutions collect form web for “什么是“需要”默认查找的path?”

这取决于你的平台,以及如何编译Ruby,所以没有“这个”的答案。 你可以通过运行find:

 ruby -e 'puts $:' 

但是,通常,您拥有标准,站点和供应商的Ruby库path,包括每个path下的arch,版本和常规目录。

Ruby将查找$LOAD_PATH数组中指定的所有path。

你也可以像这样添加一个目录来search:

 $LOAD_PATH.unshift File.expand_path('../path/from/this/file/to/another/directory', __FILE__) 

可以通过设置RUBYLIB环境variables来指定其他path

$ LOAD_PATH全局variables(也称为$ :)包含search的目录列表。

请参阅: http : //www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-require

require(string)=> true或false

Ruby尝试加载名为string的库,如果成功则返回true。 如果文件名不parsing为绝对path,将在$:中列出的目录中search。 如果文件的扩展名为“.rb”,则将其作为源文件加载; 如果扩展名是“.so”,“.o”或“.dll”,或者默认共享库扩展名是在当前平台上,那么Ruby会将共享库作为Ruby扩展名加载。 否则,Ruby会尝试在名称中添加“.rb”,“.so”等。 加载的特征的名称被添加到$:中的数组中。

  • 如何解决Heroku上未初始化的常量Rake :: DSL问题?
  • 工厂已经注册:用户(FactoryGirl :: DuplicateDefinitionError)
  • 我怎么能得到昨天的date?
  • 如何打破Ruby中的嵌套循环?
  • tr和gsub有什么不同?
  • Ruby块的最佳解释?
  • 在MiniTest的assert_raises / must_raise中检查exception消息的期望语法是什么?
  • Rails中是否有HTML安全截断方法?
  • testingstring是否是Ruby on Rails中的一个数字
  • redirect_to在rails中使用POST
  • 我如何强制ActiveRecord重新加载类?