Por que eu não tenho permissões para executar este método?

0

Estou usando uma joia do Ruby chamada IMGKit e quando uso o método to_img da gem no console, recebo este erro:

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'

Eu não tenho ideia do que está acontecendo.

Este é o método 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

Por algum motivo, parece que não tenho acesso a este método no Mac OSX. Quais são algumas das coisas que devo fazer para descobrir qual é o problema e corrigi-lo?

    
por Justin Meltzer 29.06.2011 / 17:07

1 resposta

0

Releia a mensagem de erro:

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)

O erro "Permissão negada" é retornado de kernel.exec()Open3.popen3() ao tentar executar o comando /rubyprograms/search . Certifique-se de que o arquivo tenha permissão de execução ( chmod +x ), tente executá-lo no Terminal.

    
por 29.06.2011 / 21:52