Вопрос или проблема
/usr/local/lib/node_modules/ffmpeg-concat/node_modules/bindings/bindings.js:135
выбросить ошибку;
^
Ошибка: Не удалосьlocate файл привязок. Попытки:
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/build/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/build/Debug/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/build/Release/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/out/Debug/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/Debug/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/out/Release/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/Release/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/build/default/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/compiled/10.19.0/linux/x64/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/addon-build/release/install-root/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/addon-build/debug/install-root/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/addon-build/default/install-root/webgl.node
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/lib/binding/node-v64-linux-x64/webgl.node
в bindings (/usr/local/lib/node_modules/ffmpeg-concat/node_modules/bindings/bindings.js:126:9)
в Object.<анонимный> (/usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/src/javascript/native-gl.js:1:40)
в Module._compile (внутренние/модули/cjs/loader.js:778:30)
в Object.Module._extensions..js (внутренние/модули/cjs/loader.js:789:10)
в Module.load (внутренние/модули/cjs/loader.js:653:32)
в tryModuleLoad (внутренние/модули/cjs/loader.js:593:12)
в Function.Module._load (внутренние/модули/cjs/loader.js:585:3)
в Module.require (внутренние/модули/cjs/loader.js:692:17)
в require (внутренние/модули/cjs/helpers.js:25:18)
в Object.<анонимный> (/usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/src/javascript/webgl-rendering-context.js:4:58)
Не удалось найти файл привязок.
Ответ или решение
Проблема с привязками при интеграции ffmpeg-concat в Electron Egg
При интеграции ffmpeg-concat
в ваше приложение Electron вы можете столкнуться с ошибкой привязки, которая выглядит следующим образом:
Error: Could not locate the bindings file. Tried:
→ /usr/local/lib/node_modules/ffmpeg-concat/node_modules/gl/build/webgl.node
...
Эта ошибка связана с тем, что Node.js не может найти файл привязки webgl.node
, необходимый для работы модуля gl
, который, в свою очередь, является зависимостью ffmpeg-concat
. Давайте разберем причины возникновения этой ошибки и возможные шаги для её устранения.
Причины возникновения ошибки
-
Неправильная установка модулей: Возможно,
ffmpeg-concat
или его зависимости были неправильно установлены. Это может быть связано с изменениями в структуре директорий или отсутствием необходимых файлов после установки. -
Несоответствие версий: Ваша текущая версия Node.js или Electron может не соответствовать версиям, для которых разработан модуль
gl
. Иногда модули требуют специфические версии Node.js для успешной сборки своих нативных компонентов. -
Отсутствие сборки: В случае, если модуль требует сборки нативного кода для вашей платформы, и эта сборка не была выполнена, вы также столкнетесь с данной ошибкой.
Решения для устранения проблемы
-
Переустановка модулей:
- Удалите текущие модули и выполните чистую переустановку:
npm uninstall ffmpeg-concat npm install ffmpeg-concat
- Удалите текущие модули и выполните чистую переустановку:
-
Проверка версий:
- Убедитесь, что используемая версия Node.js совместима с версиями
ffmpeg-concat
иgl
. Для этого вы можете использовать Node Version Manager (nvm), чтобы установить и переключаться между версиями Node.js:nvm install <desired_version> nvm use <desired_version>
- Убедитесь, что используемая версия Node.js совместима с версиями
-
Сборка нативных модулей:
- Если ошибка связана с отсутствующими файловыми привязками, вы можете попробовать выполнить сборку модулей:
npm rebuild
- Если ошибка связана с отсутствующими файловыми привязками, вы можете попробовать выполнить сборку модулей:
-
Проверка зависимостей:
- Убедитесь, что все необходимые зависимости установлены. Возможно, вам слезно переустановить модули, отвечающие за нативные привязки.
- Используйте команду:
npm install --unsafe-perm
- Это позволит игнорировать некоторые ограничения, которые могут возникать при установке нативных модулей.
-
Чистка кэша:
- Если проблема сохраняется, попробуйте очистить кеш npm и переустановить модули:
npm cache clean --force npm install
- Если проблема сохраняется, попробуйте очистить кеш npm и переустановить модули:
Заключение
Ошибки, подобные данной, являются распространёнными при работе с нативными модулями в Node.js и Electron. Тщательная проверка установок, версий и необходимых зависимостей может помочь быстро решить проблему. Если вышеуказанные шаги не решают вашу проблему, возможно, имеет смысл обратиться к документации ffmpeg-concat
или разработчику пакета для получения дополнительных рекомендаций. Удачи в успешной интеграции ffmpeg-concat
в свой проект!