2012-06-12 64 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

這不會像我在我的問題中解釋的那樣發生。 –