В манифесте Twelve-Factor App говорится, что именно веб-приложения "... имеют четкий контракт с базовая операционная система, предлагающая максимальную переносимость между средами выполнения" [курсив добавлен мной]
Но затем он говорит:
Двенадцатифакторные приложения также не полагаются на неявное существование каких-либо системных инструментов. Примеры включают обстрел
ImageMagick
илиcurl
. Хотя эти инструменты могут существовать во многих или даже в большинстве систем, нет гарантии, что они будут существовать во всех системах, где приложение может работать в будущем, или будет ли версия, найденная в будущей системе, совместима с приложением. Если приложению необходимо использовать системный инструмент, этот инструмент должен быть включен в приложение.
и они ранее определили «поставщик в приложение» как:
в каталоге, содержащем приложение (известном как «поставщик» или «пакет»).
Как это сделать, если (по крайней мере, в Linux) собственные 64-битные исполняемые файлы не запускаются, например, в 32-битных средах, не говоря уже о других операционных системах? Или есть лучший способ решить эту проблему переносимости?