Skip to content

Dependencies broken on Node 20 #6072

@vladh

Description

@vladh

I'm running Node 20, and after freshly cloning this repo then running npm install better-sqlite3 in src/, I get the following:

$ ./src/bin/run.sh
Copy the settings template to settings.json...
Installing dependencies...
Installing dev dependencies
npm WARN config optional Use `--omit=optional` to exclude optional dependencies, or
npm WARN config `--include=optional` to include them.
npm WARN config 
npm WARN config     Default value does install optional deps unless otherwise omitted.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: eslint-config-etherpad@3.0.22
npm ERR! Found: typescript@5.3.3
npm ERR! node_modules/typescript
npm ERR!   dev typescript@"^5.3.3" from the root project
npm ERR!   peer typescript@">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" from tsutils@3.21.0
npm ERR!   node_modules/tsutils
npm ERR!     tsutils@"^3.21.0" from @typescript-eslint/eslint-plugin@5.62.0
npm ERR!     node_modules/@typescript-eslint/eslint-plugin
npm ERR!       @typescript-eslint/eslint-plugin@"^5.62.0" from eslint-config-etherpad@3.0.22
npm ERR!       node_modules/eslint-config-etherpad
npm ERR!         dev eslint-config-etherpad@"^3.0.22" from the root project
npm ERR!     tsutils@"^3.21.0" from @typescript-eslint/type-utils@5.62.0
npm ERR!     node_modules/@typescript-eslint/type-utils
npm ERR!       @typescript-eslint/type-utils@"5.62.0" from @typescript-eslint/eslint-plugin@5.62.0
npm ERR!       node_modules/@typescript-eslint/eslint-plugin
npm ERR!         @typescript-eslint/eslint-plugin@"^5.62.0" from eslint-config-etherpad@3.0.22
npm ERR!         node_modules/eslint-config-etherpad
npm ERR!     1 more (@typescript-eslint/typescript-estree)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer typescript@"^4.5.5" from eslint-config-etherpad@3.0.22
npm ERR! node_modules/eslint-config-etherpad
npm ERR!   dev eslint-config-etherpad@"^3.0.22" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: typescript@4.9.5
npm ERR! node_modules/typescript
npm ERR!   peer typescript@"^4.5.5" from eslint-config-etherpad@3.0.22
npm ERR!   node_modules/eslint-config-etherpad
npm ERR!     dev eslint-config-etherpad@"^3.0.22" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! 
npm ERR! For a full report see:
npm ERR! /root/.local/state/npm/_logs/2023-12-15T18_43_04_443Z-eresolve-report.txt

Some leads:

  • src/package-lock.json has "lockfileVersion": 1 but the latest seems to be 3
  • I don't understand why node_modules/ is versioned with a ep_etherpad-lite -> ../src symlink in it
  • I don't understand why there's a node_modules/ in the root but the package.json is in src
  • run.sh reinstalls dependencies on every run. What is the logic here? Whenever you restart your service, updates are installed, potentially breaking everything? In my case, restarting a version of Etherpad that was a few months old made it not start at all anymore on the next run. And anyway, why update behind my back?

I've stopped using this project because the above issues make it extremely unreliable, but I hope my comments help.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions