Я не писал приложения electron да и с node мало работал (только собственные проекты, не заглядывал далеко по зависимостям) и для меня многое непонятно, даже шокирует, во что превратилась разработка современных приложений.
Пытаюсь собрать
idena-desktop electron, простая веб форма, простенький редактор картинок, основной функционал обслуживается другим приложением с доступом по rpc, не больше,
всего то 1309 модулей в зависимостях, мелочи, но в данном случае не важно что это такое.
В зависимостях у него стоит
node-re2, и пакетный менеджер, не найдя его локально, пытается сначала загрузить его с github из собранных там файлов в release, но запрашивает файл с кодом 102 версии 1.15.9, которого там не существует. В следствии чего он пытается собрать его с помощью npm-gyp и тоже его не находит (в зависимостях он тоже есть).
А теперь самое веселое, пытаюсь вручную разрулить и
установить npm-re или npm-gyp с помощью пакетного менеджера apt, то он пытается удалить nodejs и поставить libnode64 (у них так прописано), соответственно если позволить, у него получается, но тогда логично перестает работать node и npm в принципе.
Если я верно понимаю это ошибка в репозитарии
https://deb.nodesource.com/node_17.x ? Если поставить node-gyp глобально с помощью npm install -g node-gyp то все вроде отрабатывает, но в результате сборщик все равно не видит node-gyp и не может ничего собрать (кстати при дальнейших попытках сборки проекта даже не пытается, просто пишет что не найден re2), либо я не знаю что и где нужно еще подкрутить для этого.
Сами разработчики этого дела пока не спешат помогать, ну я только сегодня попробовал, на офф канале в дискорд другие тоже не помогли, откликнулся один только чтобы посетовать что тоже не осилил. Там та же фигня с их idena-indexer, фиг соберешь, а именно этот софт собирает нужную информацию по блокчейну (подробности про майнинг и валидацию), например чтобы анализировать блокчейн (поднять свой explorer)
подробностиubuntu 20.04
# npm --version
8.1.0
# node -v
v17.0.1
# git clone
https://github.com/idena-network/idena-desktop/
# git checkout tags/v0.28.1
# export NODE_OPTIONS=--openssl-legacy-provider
# npm install
...
added 2345 packages, and audited 2346 packages in 3m
...
не запускать npm audit fix --force в офф дискорде писали что этот механизм уже давно сломан (жесть, финансовые приложения пишут при наличии 17-и критических уязвимостей)
# npm run dist:linux
...
Error occurred prerendering page "/oracles/view". Read more:
https://err.sh/next.js/prerender-error
Error: Cannot find module './build/Release/re2'
...
Error: Export encountered errors on following paths:
/oracles/list
/oracles/new
/oracles/view