作者:郑小蒜9299_941611_G | 2023-09-03 16:18
如何获取rakefile.rb所在的目录?
我想用它作为我的根目录来找到所有东西.
1> craigb..:
使用__FILE__
获取文件名,那么你可以从那里得到的目录:
在 test.rb
puts __FILE__
输出:
/users/foo/test.rb
__FILE__
解析为它所在文件的完整路径.
使用它来获取目录名称:
File.dirname(__FILE__)
这大多是正确的,但是在Rakefile需要一些其他文件并且该文件需要知道Rakefile的位置的情况下是错误的; 在那种情况下,`Rake.application.original_dir`就是你想要的.
2> Artem Tikhom..:
您可以通过调用application.original_dir方法来获取它.在任务中,您可以使用任务对象上的应用程序方法来实现应用程
在Rake的后期版本中我有这个是Rake.original_dir
3> Gordon Hartl..:
为什么不使用Dir.pwd
?
问题是你可能从其他目录调用rakefile,如:$ rake -f subdir/rakefile,你可能想要rakefile存在的路径,因为你可能需要其他依赖项.使用Dir.pwd将为您提供当前工作目录,但这不会是您的其他依赖项所在的位置(例如,您有jar文件)