Ruby on rails Rails 3.1在Gem安装中查找特定文件
我正在尝试修复一个特定于Linux的GEM。。。它使用which命令查找GEM安装的shell文件,以调用可执行文件,然后使用结果 我想我可以使用Find.Find(dir)来获取文件的位置。不幸的是,搜索此文件的路径很麻烦。我正在寻找一个如何缩小搜索区域的建议,或者寻找一个查找文件的不同方法 下面是我现在正在实现的代码:Ruby on rails Rails 3.1在Gem安装中查找特定文件,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我正在尝试修复一个特定于Linux的GEM。。。它使用which命令查找GEM安装的shell文件,以调用可执行文件,然后使用结果 我想我可以使用Find.Find(dir)来获取文件的位置。不幸的是,搜索此文件的路径很麻烦。我正在寻找一个如何缩小搜索区域的建议,或者寻找一个查找文件的不同方法 下面是我现在正在实现的代码: @path_array = ENV['Path'].split(";") require 'find' @path_array.each do |dir| Find.f
@path_array = ENV['Path'].split(";")
require 'find'
@path_array.each do |dir|
Find.find(dir) do |path|
if File.basename(path) == "wkhtmltoimage-proxy"
Rails.logger.debug("@@@ Here")
@meow = path
end
end
end
更新
是否尝试在FileTest.directory中添加?下一步,但这似乎绕过了文件。我为什么要搜索路径?如果它在路径中,那么执行应该找到它。嗯 然而,我听到的唯一合理的解决方案是,如果我仍然需要这样的东西,请开发人员在资源文件(例如属性)中放置一个路径,并从那里获取位置,而不是使用Find 这可能就是为什么最初的开发人员使用了
which
.chomp命令,因为Linux which命令要快得多