rails-latex gem: ActionView :: Template :: Error (сбой rails-latex ...) с Heroku - PullRequest
2 голосов
/ 07 февраля 2020

Версия Rails : Rails 6.0.2.1

Ruby Версия : ruby 2.6.3p62 (версия 20175-04-16 67580) [x86_64 -linux]

Когда я пытаюсь сгенерировать PDF с гемом rails-latex в Heroku, я получаю следующую ошибку: ActionView::Template::Error rails-latex failed (полное сообщение об ошибке ниже).

Эта ошибка не возникает локально.

То, что я пытался

Уже существует вопрос stackoverflow-вопрос с той же проблемой: Отладка рельсы-латекс драгоценный камень на Heroku | ActionView :: Template :: Error rails-latex не удалось

@ blackbrokkoli пишет:

Если у вас есть похожая проблема, я рекомендую удалить все зависимости tex, получите MWE и затем медленно добавляйте их обратно, чтобы идентифицировать злодеев.

Но я не знаю, что он имеет в виду под «MWE», и я сомневаюсь, что смогу «идентифицировать злодеев» сам.


Существует поток под названием " Развертывание на Heroku ", предлагающий установить buildpack .

Я пытался следовать инструкция для опции «Мультипак».

Команда cat .buildpacks возвращает cat: .buildpacks: No such file or directory

Команда heroku config:add BUILDPACK_URL=git://github.com/ddollar/heroku-buildpack-multi.git возвращает:

Setting BUILDPACK_URL and restarting

BUILDPACK_URL: git://github.com/ddollar/heroku-buildpack-multi.git

Но после этого я не знаю, как действовать дальше.

Я попытался выяснить, как добавить buildpacks с Heroku с помощью команды heroku buildpacks:add. Но я не мог понять, как я могу добавить сторонний сборочный пакет с этой командой.


У кого-нибудь есть какие-либо предложения по исправлению этой ошибки?


Сообщение об ошибке в heroku logs

2020-02-07T05:50:55.909360+00:00 app[web.1]: I, [2020-02-07T05:50:55.909264 #4]  INFO -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3] Started GET "/articles/2.pdf" for 87.245.109.31 at 2020-
02-07 05:50:55 +0000
2020-02-07T05:50:55.910207+00:00 app[web.1]: I, [2020-02-07T05:50:55.910130 #4]  INFO -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3] Processing by ArticlesController#show as PDF
2020-02-07T05:50:55.910257+00:00 app[web.1]: I, [2020-02-07T05:50:55.910202 #4]  INFO -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3]   Parameters: {"id"=>"2"}
2020-02-07T05:50:55.913042+00:00 app[web.1]: D, [2020-02-07T05:50:55.912964 #4] DEBUG -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3]   Article Load (1.1ms)  SELECT "articles".* FROM "articl
es" WHERE "articles"."id" = $1 LIMIT $2  [["id", 2], ["LIMIT", 1]]
2020-02-07T05:50:55.914866+00:00 app[web.1]: I, [2020-02-07T05:50:55.914789 #4]  INFO -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3]   Rendering articles/show.pdf.erb within layouts/applica
tion

2020-02-07T05:50:55.915357+00:00 app[web.1]: I, [2020-02-07T05:50:55.915290 #4]  INFO -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3]   Rendered articles/show.pdf.erb within layouts/applicat
ion (Duration: 0.4ms | Allocations: 101)
2020-02-07T05:50:55.916214+00:00 app[web.1]: I, [2020-02-07T05:50:55.916141 #4]  INFO -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3] Running 'pdflatex -halt-on-error -shell-escape -interact
ion=batchmode input' in /app/tmp/rails-latex/4-521112460259582216 1 times...
2020-02-07T05:50:55.923855+00:00 app[web.1]: I, [2020-02-07T05:50:55.923739 #4]  INFO -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3] Running 'bibtex input' in /app/tmp/rails-latex/4-5211124
60259582216 1 times...
2020-02-07T05:50:55.929983+00:00 app[web.1]: I, [2020-02-07T05:50:55.929846 #4]  INFO -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3] Running 'pdflatex -halt-on-error -shell-escape -interact
ion=batchmode input' in /app/tmp/rails-latex/4-521112460259582216 2 times...
2020-02-07T05:50:55.936216+00:00 app[web.1]: I, [2020-02-07T05:50:55.936104 #4]  INFO -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3] Completed 500 Internal Server Error in 26ms (ActiveRecor
d: 1.1ms | Allocations: 1610)
2020-02-07T05:50:55.937843+00:00 app[web.1]: F, [2020-02-07T05:50:55.937756 #4] FATAL -- : [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3]
2020-02-07T05:50:55.937845+00:00 app[web.1]: [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3] ActionView::Template::Error (rails-latex failed: See /app/tmp/rails-latex/4-521112460259582216/input.l
og for details):
2020-02-07T05:50:55.937845+00:00 app[web.1]: [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3]     15:
2020-02-07T05:50:55.937846+00:00 app[web.1]: [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3]     16: \end{document}
2020-02-07T05:50:55.937846+00:00 app[web.1]: [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3]
2020-02-07T05:50:55.937847+00:00 app[web.1]: [1c4e2355-293c-4cb1-b591-b97e4ba4ecf3] app/views/layouts/application.pdf.erbtex:18

@ Syed Asim Hashmi предложил использовать эту команду для установки стороннего buildpack-пакета:

heroku buildpacks:add git://github.com/Thermondo/heroku-buildpack-tex.git#VERSION_NUMBER

Вот что я получаю :

heroku buildpacks:add git://github.com/Thermondo/heroku-buildpack-te
x.git#VERSION_NUMBER
 ›   Error: Could not find the buildpack:
 ›   git://github.com/Thermondo/heroku-buildpack-tex.git#VERSION_NUMB
 ›   ER. To specify a buildpack, please format it like the following:
 ›   namespace/name (e.g. heroku/ruby). Also names can only contain
 ›   letters, numbers, '_', and '-'.

Я попытался добавить buildpack через настройки на сайте heroku:

enter image description here

Я перезапустил Герою с heroku restart но я получаю то же сообщение об ошибке.

1 Ответ

0 голосов
/ 07 февраля 2020

rails-latex использует сторонний buildpack

https://github.com/Thermondo/heroku-buildpack-tex

Вы можете установить его, выполнив следующую команду:

heroku buildpacks:add git://github.com/Thermondo/heroku-buildpack-tex.git#VERSION_NUMBER

В качестве альтернативы вы также можете добавить вышеуказанный git репозиторий в свои пакеты сборки, перейдя в настройки dyno.

Следует помнить, что файловая система Heroku эфемерна - это означает, что любые изменения в файловая система, пока dyno работает только в последнюю очередь, пока этот dyno не будет выключен или перезапущен

Более подробную информацию о сторонних сборочных пакетах можно найти здесь

Подробнее Что касается файловой системы heroku здесь

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...