Dlaczego nie mam uprawnień do uruchomienia tej metody?


0

Używam klejnotu Ruby o nazwie IMGKit, a kiedy używam metody klejnotu to_imgw konsoli, pojawia się następujący błąd:

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'

Nie mam pojęcia, co się dzieje.

To jest metoda 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

Z jakiegoś powodu wydaje się, że nie mam dostępu do tej metody w systemie Mac OSX. Co należy zrobić, aby dowiedzieć się, na czym polega problem i jak go naprawić?

Odpowiedzi:


0

Ponownie przeczytaj komunikat o błędzie:

Komenda nie powiodła się: / 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 ': Odmowa dostępu - / rubyprograms / search (Errno :: EACCES)

Błąd „Odmowa zezwolenia” jest zwracany z kernel.exec()Open3.popen3()podczas próby wykonania polecenia /rubyprograms/search. Upewnij się, że plik ma uprawnienia do wykonywania ( chmod +x), spróbuj uruchomić go z terminala.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.