Запуск другого дочернего процесса узла с другой версией

avatar
John
8 августа 2021 в 21:23
30
1
0

Новейшая стабильная версия Electron доступна только на узле 14.x. Можно ли разветвить дочерний процесс для запуска на узле 16.6.1?

В дочернем процессе должен быть запущен узел 16.6.1 для совместимости с модулем. Одно из решений, которое я рассматривал, заключалось в запуске сценария bash или аналогичного для запуска другого приложения узла, но использование child_process позволяет мне получить информацию от дочернего элемента.

Источник
Kelvin Schoofs
8 августа 2021 в 21:25
0

Какой модуль имеет это требование? Хотя я знаю, что Discord.js является одним из них.

John
8 августа 2021 в 21:29
0

@KelvinSchoofs точно это Discord.js

Kelvin Schoofs
8 августа 2021 в 21:36
1

Не совсем уверен, почему вы использовали это в Electron. Я бы предложил использовать более низкую версию, если это возможно. Вы можете дождаться, пока Electron переключится на Node v16, но, зная их, это займет очень много времени. Есть эта проблема (которая может быть вашей) вы можете уточнить. В противном случае, боюсь, мой ответ об использовании child_process или node NPM-модуля — это все, что осталось.

Ответы (1)

avatar
Kelvin Schoofs
8 августа 2021 в 21:27
1

Вы действительно можете использовать модуль child_process и указать ему путь к v16.6.1 node.exe. Это означает, что у пользователя вашего приложения Electron должна быть установлена ​​эта версия, и вам нужно каким-то образом найти путь.

В качестве альтернативы вы можете использовать пакет node, который в основном упаковывает Node.js как модуль. Однако документации явно не хватает.

John
8 августа 2021 в 23:51
0

Это пластырь, но использование пакета node для создания исполняемого файла узла на данный момент работает.