Как правило, можно проверить версию Lua, запустив print(_VERSION)
. То есть, выполнение этого в вашей оболочке должно работать:
pandoc --lua-filter <(echo 'print(_VERSION)') <<< ''
Старые версии pandoc могут быть скомпилированы с любым из Lua 5.1, Lua 5.2, Lua 5.3 или LuaJIT. Однако поддержание совместимости было обременительным, поэтому сопровождающий пакета HsLua , используемого pandoc (I), прекратил поддержку более старых версий около года назад. Если вы используете pandoc 2.3.1 или новее, pandoc гарантированно содержит Lua 5.3.x.
Загрузка чистых библиотек Lua не будет проблемой и должна работать так же, как и с простым исполняемым Lua-файлом. Единственная проблема может заключаться в том, что значение по умолчанию LUA_PATH
, установленное в pandoc, отличается от того, которое используется в других программах. Это может произойти, если pandoc не был скомпилирован для общесистемной версии Lua. LuaRocks может помочь, просто запустите eval "$(luarocks path)"
.
Так же, как и с чистыми библиотеками Lua, библиотеки C Lua должны просто работать, если pandoc был скомпилирован как нестатический двоичный файл. Однако двоичные файлы, отличные от Windows, представленные на веб-сайте pandoc и на GitHub, являются статическими, и динамическая загрузка библиотек C будет не работать.
Мы поддерживаем основанные на Alpine образы Docker , pandoc/core
и pandoc/latex
, которые скомпилированы для общесистемной версии Lua. Это может быть хорошим вариантом, если менеджер пакетов вашей платформы не поставляет последнюю версию pandoc, не может использовать статически скомпилированный двоичный файл, и вы не хотите компилировать pandoc самостоятельно. Если вы хотите увидеть поддержку другого базового образа, такого как Ubuntu, просто поднимите билет.