You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
vladh
changed the title
Crash on clean clone and start
Dependencies broken on Node 20
Dec 15, 2023
The problem is that Etherpad only runs with lockfileVersion 1. Any other version breaks the dependency resolution.
node_modules is symlinked to the root folder so that you can more easily map that directory to the docker host.
This is because of the reason mentioned before. We always install the dependencies in the src directory and then the folder is symlinked to the parent directory.
If you map the node_modules directory as a volume the directory is persisted on the host. That way you don't need to reinstall it on every restart as containers itself don't hold changes. If you do that and want to upgrade to a newer version you then need to unmap the directory and reinstall better-sqlite.
TLDR: could you try etherpad/etherpad:develop and check if that fixes your problem. The command should be the same.
I'm running Node 20, and after freshly cloning this repo then running
npm install better-sqlite3
insrc/
, I get the following:Some leads:
src/package-lock.json
has"lockfileVersion": 1
but the latest seems to be3
node_modules/
is versioned with aep_etherpad-lite -> ../src
symlink in itnode_modules/
in the root but the package.json is insrc
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.
The text was updated successfully, but these errors were encountered: