wkhtmltopdf-binary не найден на сервере разработки
При тестировании на localhost, как и ожидалось, выполняется вывод гема wicked-pdf. У него есть зависимость от wkhtmltopdf.
В соответствии с указаниями здесь я определил и проверил наличие на сервере разработки Ubuntu 18.04 этого каталога:
~/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/wkhtmltopdf-binary-0.12.5.4/bin
затем изменил права доступа
chmod -R 777 ~/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/wkhtmltopdf-binary-0.12.5.4/bin
Да, bundle install
возвращается
Using wkhtmltopdf-binary 0.12.5.4
which wkhtmltopdf
возвращается
/home/deploy/.rbenv/shims/wkhtmltopdf
В то время как инструкции гема wickedPDF поощряют создание инициализатора. Однако каталог/usr/local/bin/
в нем всего два документа: бандл и бандлер. Так что я не понимаю, что происходит...
Все еще выполняется доступ к действию, вызывающему .pdf
расширение возвращает ошибку
RuntimeError in [class]Controller#pdf
Location of wkhtmltopdf unknown
как можно правильно получить доступ к wkhtmltopdf?
1 ответ
Под вопросом были все элементы решения.
Один забытый элемент заключался в том, что сервер был многопользовательским, а wkhtmltopdf изначально был установлен другим пользователем. Как указано на странице gem wkhtmltopdf, во время установки возникает проблема с разрешениями; затем наблюдается, что эти разрешения были назначены другому пользователю.
Согласно ссылке на злой гем PDF, создающий инициализатор, содержащий:
WickedPdf.config = {
exe_path: '/home/deploy/.rbenv/shims/wkhtmltopdf'
}
решил вопрос.