crowbartools / Firebot

A powerful all-in-one bot for Twitch streamers
https://firebot.app
GNU General Public License v3.0
352 stars 99 forks source link

[Support] Clone project and run it : "Unsupported engine" #2584

Closed Nsbx closed 2 months ago

Nsbx commented 2 months ago

Hi :)

I tried to clone the project locally and run it (to contribute) But I got this error.

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'got@5.7.1',
npm WARN EBADENGINE   required: { node: '>=0.10.0 <7' },
npm WARN EBADENGINE   current: { node: 'v18.18.2', npm: '10.2.4' }
npm WARN EBADENGINE }
npm WARN skipping integrity check for git dependency ssh://git@github.com/SReject/expressionish.git
npm WARN skipping integrity check for git dependency ssh://git@github.com/SReject/electron-installer-dmg.git
npm WARN skipping integrity check for git dependency ssh://git@github.com/cavemobster/ui.bootstrap.contextMenu.git
npm WARN deprecated electron-oauth2@3.0.0: Do not use for production! Please see https://github.com/mawie81/electron-oauth2/issues/12 for details.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated angular-sanitize@1.8.3: For the actively supported Angular, see https://www.npmjs.com/package/@angular/core. AngularJS support has officially ended. For extended AngularJS support options, see https://goo.gle/angularjs-path-forward.
npm WARN deprecated angular-aria@1.8.3: For the actively supported Angular, see https://www.npmjs.com/package/@angular/core. AngularJS support has officially ended. For extended AngularJS support options, see https://goo.gle/angularjs-path-forward.
npm WARN deprecated angular-sanitize@1.5.11: For the actively supported Angular, see https://www.npmjs.com/package/@angular/core. AngularJS support has officially ended. For extended AngularJS support options, see https://goo.gle/angularjs-path-forward.
npm WARN deprecated angular-route@1.8.3: For the actively supported Angular, see https://www.npmjs.com/package/@angular/core. AngularJS support has officially ended. For extended AngularJS support options, see https://goo.gle/angularjs-path-forward.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated angular-animate@1.8.3: For the actively supported Angular, see https://www.npmjs.com/package/@angular/core. AngularJS support has officially ended. For extended AngularJS support options, see https://goo.gle/angularjs-path-forward.
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated angular@1.5.11: For the actively supported Angular, see https://www.npmjs.com/package/@angular/core. AngularJS support has officially ended. For extended AngularJS support options, see https://goo.gle/angularjs-path-forward.
npm WARN deprecated angular@1.8.3: For the actively supported Angular, see https://www.npmjs.com/package/@angular/core. AngularJS support has officially ended. For extended AngularJS support options, see https://goo.gle/angularjs-path-forward.
npm WARN deprecated iltorb@2.4.5: The zlib module provides APIs for brotli compression/decompression starting with Node.js v10.16.0, please use it over iltorb
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@nut-tree/nut-js/-/nut-js-3.1.2.tgz - Not found
npm ERR! 404
npm ERR! 404  '@nut-tree/nut-js@https://registry.npmjs.org/@nut-tree/nut-js/-/nut-js-3.1.2.tgz' is not in this registry.
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

Like you can see my node version and npm version is the same as defined in "volta" key in package.json

Do you have an idea ?

Thank

dennisrijsdijk commented 2 months ago

2 things:

  1. Ignore most of those errors. The only error that matters here is the 404 for nut-js
  2. Make sure you run off the v5 branch and not master. master hasn't been switched over to the nut-js fork yet, which causes installation to fail
Nsbx commented 2 months ago

Ah yes that better, thank

Now when I run "npm run start" i got this

[2024-06-25 17:03:45.0729] - debug: Error on when ready step
{
  message: '/home/nsbx/Dev/Fork/Firebot/node_modules/@nut-tree-fork/libnut-linux/build/Release/libnut.node: cannot open shared object file: No such file or directory',
  stack: 'Error: /home/nsbx/Dev/Fork/Firebot/node_modules/@nut-tree-fork/libnut-linux/build/Release/libnut.node: cannot open shared object file: No such file or directory\n' +
    '    at process.func [as dlopen] (node:electron/js2c/node_init:2:2214)\n' +
    '    at Module._extensions..node (node:internal/modules/cjs/loader:1356:18)\n' +
    '    at Object.func [as .node] (node:electron/js2c/node_init:2:2214)\n' +
    '    at Module.load (node:internal/modules/cjs/loader:1126:32)\n' +
    '    at Module._load (node:internal/modules/cjs/loader:967:12)\n' +
    '    at c._load (node:electron/js2c/node_init:2:13672)\n' +
    '    at Module.require (node:internal/modules/cjs/loader:1150:19)\n' +
    '    at require (node:internal/modules/cjs/helpers:119:18)\n' +
    '    at bindings (/home/nsbx/Dev/Fork/Firebot/node_modules/bindings/bindings.js:112:48)\n' +
    '    at Object.<anonymous> (/home/nsbx/Dev/Fork/Firebot/node_modules/@nut-tree-fork/libnut-linux/index.js:5:33)',
  code: 'ERR_DLOPEN_FAILED'
}
[2024-06-25 17:03:45.0731] - debug: ...Showing splash screen

The splash screen appear but the loading is endless.

dennisrijsdijk commented 2 months ago

Right... Linux. the nutjs fork linux version is built on arm64 at the moment, which causes that error when used on an x86_64 system. I've contacted the package maintainer to try and get this fixed, but I got a workaround for now that should work for you.

cd /tmp
git clone https://github.com/ZachJW34/libnut-core.git
cd libnut-core
npm install
npm run patch
npm run build:release

then copy /tmp/libnut-core/build/Release/libnut.node to /home/nsbx/Dev/Fork/Firebot/node_modules/@nut-tree-fork/libnut-linux/build/Release/, overwriting the current libnut.node

Nsbx commented 2 months ago

You rock :D

That work well thank you