2012-06-12 4 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 неизвестного

Почему это произошло? Почему Героку не использует производственную группу?

ответ

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

Это не происходит, как я объяснил в своем вопросе. –