如何获取 rakefile.rb 所在的目录?
我想用它作为我的根目录来定位一切。
用于__FILE__
获取文件名,然后您可以从那里获取目录:
在test.rb
puts __FILE__
输出:
/users/foo/test.rb
__FILE__
解析为它所在文件的完整路径。
使用它来获取目录名称:
File.dirname(__FILE__)
您可以通过调用application.original_dir方法来获取它。在任务中,您可以使用任务对象上的应用程序方法来实现应用程序对象。
为什么不直接使用 Dir.pwd
?
从 Ruby 2 开始,您可以使用__dir__
而不是File.dirname(__FILE__)
获取包含当前脚本的目录。
如果这是一个 RoR 应用程序,您的 Rakefile.rb 应该在您的 RAILS_ROOT 目录中。因此,在任何脚本中,您都可以指定文件位置,例如
config.load_paths += %W( #{RAILS_ROOT}/extras )