Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3.1在Gem安装中查找特定文件_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails 3.1在Gem安装中查找特定文件

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

我正在尝试修复一个特定于Linux的GEM。。。它使用which命令查找GEM安装的shell文件,以调用可执行文件,然后使用结果

我想我可以使用Find.Find(dir)来获取文件的位置。不幸的是,搜索此文件的路径很麻烦。我正在寻找一个如何缩小搜索区域的建议,或者寻找一个查找文件的不同方法

下面是我现在正在实现的代码:

@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命令要快得多