Open ThornedRose opened 5 months ago
Having the same issue here.
capy@fedora:~/Documents/icarus$ npm install
npm warn deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm warn deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm warn deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm warn deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm error code 1
npm error path /var/home/capy/Documents/icarus/node_modules/changeexe
npm error command failed
npm error command sh -c node dlResHack
npm error The license of ResourceHacker.exe forbids distribution with this NPM package, so it will be downloaded at this time.
npm error Downloading resource_hacker.zip ...
npm error Download Completed
npm error Extracting resource_hacker.zip ...
npm error /var/home/capy/Documents/icarus/node_modules/adm-zip/zipFile.js:101
npm error if (!~endOffset) throw new Error(Utils.Errors.INVALID_FORMAT);
npm error ^
npm error
npm error Error: Invalid or unsupported zip format. No END header found
npm error at readMainHeader (/var/home/capy/Documents/icarus/node_modules/adm-zip/zipFile.js:101:32)
npm error at new module.exports (/var/home/capy/Documents/icarus/node_modules/adm-zip/zipFile.js:19:9)
npm error at new module.exports (/var/home/capy/Documents/icarus/node_modules/adm-zip/adm-zip.js:62:18)
npm error at WriteStream.<anonymous> (/var/home/capy/Documents/icarus/node_modules/changeexe/dlResHack.js:19:21)
npm error at WriteStream.emit (node:events:532:35)
npm error at finish (node:internal/streams/writable:947:10)
npm error at node:internal/streams/writable:928:13
npm error at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
npm error
npm error Node.js v22.3.0
npm error A complete log of this run can be found in: /home/capy/.npm/_logs/2024-06-21T22_18_26_865Z-debug-0.log
My system: OS: Fedora Linux 40.20240621.0 (Bazzite GNOME) Kernel: Linux 6.9.4-201.fsync.fc40.x86_64 Shell: bash 5.2.26 npm: 10.8.1 node.js: v22.3.0
This appears to be an issue with ResourceHack, since it fails to install on its own when trying to install it manually through NPM.
just tested- as of right now, 0.18.1
also fails to build
(On linux mint 21.3)
I believe it's an issue with the 1.0.2 version of changeexe, changing the ./icarus/package.json version in devDependencies for changeexe from 1.0.2 to 1.0.3 let me perform an error free run of npm install.
I don't believe the development build is working though, as say it's serving on 3300, and that it's loaded log files etc, but then when trying to access localhost:3300 in Firefox, it'll show this in the firefox window:
Then simultaneously showing the following in the terminal window: npm start
icarus@0.22.0 start npm run dev
icarus@0.22.0 dev node src/service/main.js --dev
ICARUS Terminal Service 0.22.0
Loading save game data from /mnt/a0ddbe08-16dd-4eef-b855-ffd7cf80f79c/SteamLibrary/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/Saved Games/Frontier Developments/Elite Dangerous
Listening on port 3300…
Scanned 21 files
Imported 9107 events
(node:29796) [DEP0060] DeprecationWarning: The util._extend
API is deprecated. Please use Object.assign() instead.
(Use node --trace-deprecation ...
to show where the warning was created)
I dug through the woefully out of date http-proxy dependency, and managed to eliminate the util._extend calls, but then that moved to react issues aswell.
I did read that chrome is required, I tested on Chromium aswell, no luck.
Then I figured that potentially due to the age of the dependencies, that we could be using too new a version of node. Unfortunately the package.json doesn't specify a version, so I took a try with v16, then v14, both throwing errors (the same in chromium and firefox).
So either this is borked completely, and requires someone with js/node experience, or the linux compatibility isn't correct anymore.
Thanks for reporting this, and for folks who dug into it and tried to help out!
Given the package versions are fixed and builds are automated, I suspect all the errors are caused by a Node.js version mismatch. Node.js v14.15.3 (LTS)
is what the build for Windows targets. I'll update the build instructions to make this clear.
ICARUS is written to target an older version of Node.js as a concession to primarily targeting Windows (the only platform the game is officially supported on now) - annoyingly there are some tricky compatibility issues with different versions of Node.js for Windows and various modules (I think file watching stopped working reliably in some newer versions, for example).
Several development dependencies like changeexe
are only used to build the Windows version and can be stripped entirely. Firefox works fine, but is missing some cosmetic features only possible in some other browsers, errors there also seem to be Node.js version related.
In addition to the docs, I'll see if I can do anything to make this easier.
Following the Linux build instructions, I get an error when trying build the latest version. I have 0.18.1 installed previously which built fine when I was last playing (a year ago).
My system: OS: Arch Linux x86_64 Kernel: Linux 6.9.1-arch1-1 Shell: bash 5.2.26 npm: 10.8.0-1 node.js: 22.2.0-1