2016-10-26 3 views
1

Я пробовал все, чтобы попытаться заставить Electron работать с последовательным портом ПК. Следуя всем инструкциям для serialport (даже пробовал строить собственные модули) без везения.Электронные и последовательные порты

Неужели кому-нибудь повезло, что Electron работает с последовательными портами? Если да, пожалуйста, поделитесь своей мудростью.

ответ

0

Вот команды, которые мы запускаем после установки npm (или после обновления электронного или узлового сериального).

  • на Mac

    rm -rf node_modules/serialport/build/* 
    node_modules/.bin/electron-rebuild -w serialport -f 
    ls node_modules/serialport/build/Release 
    
  • на Win

    rmdir /S /Q node_modules\serialport\build\ 
    node_modules\.bin\electron-rebuild -w serialport -f 
    dir node_modules\serialport\build\Release 
    

Корневая проблема в том, что узел-SerialPort является собственный модуль, так что вы должны скомпилировать его или использовать предварительно построенная версия, соответствующая вашей версии узла. Но ожидаемая версия узла-электрона часто (почти всегда) отличается от версии узла, установленного вами глобально. Когда вы перестраиваете node-serialport, вам нужно настроить таргетинг на версию узла, которая electronic ожидает. К счастью, electron-rebuild имеет дело с этим. Установите его и запустите его, как указано выше. Он определит, какую версию электрона вы используете (при условии, что вы не скрываете его в каком-то неожиданном месте).

Еще одна проблема, с которой мы справились, - это то, что вам необходимо вручную удалить артефакты сборки, прежде чем запускать электрон-rebuild, иначе он не будет генерировать новые артефакты. Возможно, это было исправлено с тех пор, как я в последний раз смотрел на это.

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

Наше решение было основано на длинном обсуждении по этому вопросу в выпуске node-serialport. Вам не нужно читать, но если вы начнете здесь https://github.com/EmergingTechnologyAdvisors/node-serialport/issues/538#issuecomment-273927595, где они говорят:

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

Основная проблема заключается в том, что Electron, каждый, кто начнет использовать . Электрон будет иметь проблемы с собственными модулями, и большинство проблем в этом потоке - это получение рабочих модулей.

... и затем выпуск закрыт.

Смежные вопросы