При тестировании на 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?

0
Jerome 18 Апр 2020 в 16:45

1 ответ

Лучший ответ

Под вопросом были все элементы решения.

Один забытый элемент заключался в том, что сервер был многопользовательским, а wkhtmltopdf изначально был установлен другим пользователем. Как указано на странице гемов wkhtmltopdf, во время установки возникает проблема с разрешениями; затем наблюдается, что эти разрешения были назначены другому пользователю.

Согласно ссылке на злой гем PDF, создается инициализатор, содержащий:

WickedPdf.config = {
  exe_path: '/home/deploy/.rbenv/shims/wkhtmltopdf'
}

Решил вопрос.

0
Jerome 19 Апр 2020 в 07:43