我正在使用 WickedPDF,我基本上有两个包含二进制文件的 gem:
gem "wkhtmltopdf-heroku", "1.0.0"
gem "wkhtmltopdf-binary", "0.9.5.3"
第一个应该只用于生产,第二个用于开发。如果我的 Gemfile 如下所示,则无法部署到 Heroku:
group :development do
gem "wkhtmltopdf-binary", "0.9.5.3"
end
group :production do
gem "wkhtmltopdf-heroku", "1.0.0"
end
如果我有它,它也不起作用:
group :production do
gem "wkhtmltopdf-heroku", "1.0.0"
end
如果我没有组,它就可以工作。就像:
gem "wkhtmltopdf-heroku", "1.0.0"
我得到的错误是:
运行时错误:wkhtmltopdf 的位置未知
为什么会这样?为什么 Heroku 不使用生产组?
最佳答案
WickedPdf 试图找出 wkhtmltopdf 二进制文件所在的位置,但在某些系统(尤其是共享服务器)上可能会遇到困难。
您可能必须在初始化程序中手动设置它,如下所示:
bin_location = case Rails.env
when 'production' then "/wherever/your/binary/is/bin/wkhtmltopdf"
when 'development' then "/local/path/to/wkthmltopdf"
else `which wkhtmltopdf`
end
WickedPdf.config = { :exe_path => bin_location }
https://stackoverflow.com/questions/11005609/
相关文章:
python - 在 python 中使用 native 文件管理器复制文件
.net - IBM.Data.DB2.DB2Exception : ERROR [08001] [
python - 如何在 python smtplib 模块中设置主机地址?
ruby-on-rails - 尝试使用 Google Calendar API 时出现 "Miss
image - Python 从图像中去除所有 GPS 元数据
ruby-on-rails-3 - 在 Ruby on Rails 中,有没有一种方法可以使用 RS