什么是“需要”默认查找的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”等。 加载的特征的名称被添加到$:中的数组中。

  • Rails 4.2 Vagrant上的服务器端口转发不起作用
  • 什么是Rakefile?
  • Ruby on Rails:从IRB运行一个.rb文件
  • 方法名称末尾的“!”和“?”的目的是什么?
  • Ruby有什么不Python的,反之亦然?
  • 使用Net :: HTTP.get作为httpsurl
  • 在Ruby中从string创build一个不区分大小写的正则expression式
  • 为什么在Ruby中除法返回一个整数而不是十进制值?
  • 为什么在Ruby中使用符号作为散列键?
  • 停止执行Ruby脚本
  • Rails可选参数