为什么我没有权限运行此方法?

为什么我没有权限运行此方法?

我正在使用一个名为图像处理工具to_img当我在控制台中使用 gem 的方法时出现此错误:

IMGKit::CommandFailedError: Command failed: /rubyprograms/search --format jpg http://google.com -: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open3.rb:67:in `exec': Permission denied - /rubyprograms/search (Errno::EACCES)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open3.rb:67:in `popen3'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open3.rb:53:in `fork'

我不知道发生了什么事。

这是 to_img 方法:

def to_img(format = nil)
  append_stylesheets
  set_format(format)

  result = nil
  stderr_output = nil
  Open3.popen3(*command) do |stdin,stdout,stderr|
    stdin << (@source.to_s) if @source.html?
    stdin.close
    result = stdout.gets(nil)
    result.force_encoding("ASCII-8BIT") if result.respond_to? :force_encoding
    stderr_output = stderr.readlines.join
    stdout.close
    stderr.close
  end
  raise CommandFailedError.new(command.join(' '), stderr_output)  unless result
  return result
end

由于某种原因,我似乎无法在 Mac OSX 上使用此方法。我应该做些什么来找出问题所在并修复它?

答案1

重新阅读错误信息:

命令失败:/rubyprograms/search --format jpghttp://google.com-:/系统/库/框架/Ruby.framework/版本/1.8/usr/lib/ruby/1.8/open3.rb:67:in `exec': 权限被拒绝 - /rubyprograms/search (Errno::EACCES)

尝试执行命令时,kernel.exec()←返回“权限被拒绝”错误。请确保文件具有执行权限 ( ),然后尝试从终​​端运行它。Open3.popen3()/rubyprograms/searchchmod +x

相关内容