Chocobozzz / PeerTube

ActivityPub-federated video streaming platform using P2P directly in your web browser
https://joinpeertube.org/
GNU Affero General Public License v3.0
12.89k stars 1.48k forks source link

Node version requirement unsatisfiable on FreeBSD aarch64 #6513

Closed src386 closed 1 month ago

src386 commented 1 month ago

Describe the problem

The following command:

yarn install --production --pure-lockfile

Eventually results in:

error @angular-devkit/build-angular@18.0.6: The engine "node" is incompatible with this module. Expected version "^18.19.1 || ^20.11.1 || >=22.0.0". Got "21.7.3"
error Found incompatible module.

Right now (Jul 2024) FreeBSD aarch64 provides:

node-20.12.2_1                 V8 JavaScript for client and server (meta port)
node18-18.20.2                 V8 JavaScript for client and server
node20-20.12.2                 V8 JavaScript for client and server
node21-21.7.3                  V8 JavaScript for client and server

node22 may be available in a few weeks/month, but right now it is impossible to install peertube. Is it possible somehow to "loosen" the node version requirement?

Additional information

Chocobozzz commented 1 month ago

I sugges to use node 18 or node 20 (LTS versions). I'll update the documentation

NOCLIENT=1 yarn install --production --pure-lockfile may also fix your issue.

src386 commented 1 month ago

All available version wouldn't match requirements:

Expected version "^18.19.1 || ^20.11.1 || >=22.0.0"

Avail:

node-20.12.2_1                 V8 JavaScript for client and server (meta port)
node18-18.20.2                 V8 JavaScript for client and server
node20-20.12.2                 V8 JavaScript for client and server
node21-21.7.3                  V8 JavaScript for client and server

I was able to install node22 by switching pkg repo from "quaterly" to "latest".

What is the purpose of NOCLIENT=1?

Chocobozzz commented 1 month ago

node18-18.20.2 satisfies ^18.19.1

What is the purpose of NOCLIENT=1?

Skip checking client dependencies, which are not installed anyway because of --production option

Chocobozzz commented 1 month ago

Doc fixed by https://github.com/Chocobozzz/PeerTube/commit/5084a8fe71d532e4daa4038e7fa49fc24402bf91