Rake和当前目录

时间:2008-10-25 15:05:17

标签: ruby rake

如何获取rakefile.rb所在的目录?

我想用它作为我的根目录来找到所有内容。

5 个答案:

答案 0 :(得分:39)

使用__FILE__获取文件名,然后您可以从那里获取目录:

test.rb

中的

puts __FILE__

输出:

/users/foo/test.rb

__FILE__解析为其所在文件的完整路径。

使用此命令获取目录名称:

File.dirname(__FILE__)

答案 1 :(得分:23)

您可以通过调用 application.original_dir 方法获取它。在任务中,您可以在任务对象上使用应用程序方法实现应用程序对象。

答案 2 :(得分:7)

为什么不直接使用Dir.pwd

答案 3 :(得分:2)

如果这是一个RoR应用程序,您的Rakefile.rb应该在您的RAILS_ROOT目录中。因此,在任何脚本中,您都可以指定文件位置,如

 config.load_paths += %W( #{RAILS_ROOT}/extras )

答案 4 :(得分:1)

从Ruby 2开始,您可以使用__dir__ instead of File.dirname(__FILE__)获取包含当前脚本的目录。