![](/img/trans.png)
[英]Permission denied running ActiveRecord gem tests in PostgreSQL
[英]Permission denied running a method from a Ruby gem
我正在使用一個名為IMGKit的 gem,當我在控制台中使用 gem 的to_img
方法時,我收到此錯誤:
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
這意味着執行 Ruby 程序的用戶無權讀取或執行 /rubyprograms/search 中的文件(或者可能是 /rubyprograms 目錄本身)。 檢查目錄和/或文件是否存在並且可由您的用戶執行。 如果不存在,那么您需要安裝一些包或調整 gem 配置中的路徑。 如果存在,那么您可能需要使用 chown/chmod 更改所有權或權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.