2012-06-12 32 views
2

环境中的冲突我使用WickedPDF,我有两种基本的宝石,其中包括二进制文件:与WickedPDF和Heroku的

gem "wkhtmltopdf-heroku", "1.0.0" 
gem "wkhtmltopdf-binary", "0.9.5.3" 

第一个应该是刚刚投入生产,第二个发展。部署到Heroku的,如果我有我的Gemfile像不起作用:

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" 

,我得到的是错误:

RuntimeError:wkhtmltopdf未知

的位置为什么会出现这种情况? Heroku为什么不使用生产组?

回答

2

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 } 
+0

我使用两种宝石,虽然...一个生产组和另一个开发小组......这不应该”在没问题吧? –

+0

@HommerSmith只需要他们两个都没有组,配置将确定哪一个wicked_pdf将运行(如果你有正确的路径设置)。 – Unixmonkey

+0

这不会像我在我的问题中解释的那样发生。 –