Как запустить исполняемый файл на Heroku из узла, работает локально

Это мой первый вопрос по SE. Обычно я могу найти ответ на что-нибудь довольно легко через этот замечательный веб-сайт, но, к сожалению, в этом случае я не могу найти ничего о том, что я ищу, ни здесь, ни где-либо еще. Позвольте мне объяснить проблему:

Я написал программу на C ++ для некоторых численных расчетов. Он принимает аргументы командной строки и пишет в стандартный вывод и прекрасно работает на моей системе под управлением OSX.

Я хочу разместить его в Интернете, чтобы мои коллеги могли его опробовать, поэтому я написал несколько кодов Node.js и Express, чтобы получить входные данные из формы и передать их в качестве аргумента командной строки исполняемому файлу. Затем я выполняю двоичный файл под названием «факторизатор» следующим образом:

const exec = require('child_process').exec;
app.post('/', function (req, res) {
    var input = req.body.numberinput; //Number entered on the webpage

    const child = exec('./numericcomp ' + input, {timeout: 20000}, function(error, stdout, stderr) {
        //Code here writes stdout to the page
    }
}

Вышеописанное прекрасно работает на моем локальном компьютере, но когда я развернул его в Heroku, а затем попытался ввести (здесь я попробовал 2131), я получаю ошибку:

Error: Command failed: ./numericcomp 2131 ./numericcomp: 3: ./numericcomp: Syntax error: word unexpected (expecting ")")

это дается для обратного вызова в exec.

Так что я действительно не знаю, что делать, проблема в том, что Heroku просто не запускает исполняемый файл должным образом. Я не особо разбираюсь в том, как работает Heroku, я прочитал информацию о buildpack-пакетах и ​​т. Д., Но кажется, что просто выполнить двоичный файл очень сложно. Это потому, что у меня есть только один dyno, и он не может запустить дочерний процесс?

Я был бы очень благодарен, если бы кто-то мог указать мне правильное направление здесь, кажется, что я сделал всю тяжелую работу, но не могу преодолеть последнее препятствие.

Ответы на вопрос(1)

Ваш ответ на вопрос