Uberspace / lab

The Uberlab provides various tutorials - written by you! - on how to run software and tools on Uberspace 7.
https://lab.uberspace.de
Other
315 stars 414 forks source link

[code-server] check for new nodejs version compatibility #1594

Closed noave closed 8 months ago

noave commented 12 months ago

Nodejs 12 / 14 / 16 are EOL and wont be available on Uberspace any longer.

Check if this guide works with Nodejs18 or Nodejs20 and update it accordingly. Otherwise, if you cannot fix it with the new versions mark the guide as broken like it is described here: https://github.com/Uberspace/lab/blob/main/BROKEN_GUIDES.md

(This issue has been created automatically, the guide might already be up to date, in this case you can just comment and close the issue here)

muuuh commented 11 months ago

I have the same issue here. Following version 4.17.0 - https://github.com/coder/code-server/releases: "minimum glibc is now 2.28"

My understanding ist, that

#ldd --version
ldd (GNU libc) 2.17

Searching on Twitter for previous questions about glibc - https://nitter.net/ubernauten/search?f=tweets&q=glibc&since=&until=&near= - it seems that this cannot be fixed on the customer side.

I'll currently stick with the last known working version 4.16.1.

Concerning newer versions

The following did work somehow, but not for extensions.

update_code-server.sh

#!/bin/bash -x

#https://lab.uberspace.de/guide_code-server/#updates

supervisorctl stop code-server

rm -fdr ~/code-server
mkdir code-server && cd code-server

#https://gist.github.com/steinwaywhw/a4cd19cda655b8249d908261a62687f8
#curl https://api.github.com/repos/coder/code-server/releases/latest
RELEASE_URL=$(curl -s https://api.github.com/repositories/172953845/releases/latest | jq -r '.assets[] | select(.name|match("linux-amd64.tar.gz$")) | .browser_download_url')
RELEASE_NAME=$(curl -s https://api.github.com/repositories/172953845/releases/latest | jq -r '.assets[] | select(.name|match("linux-amd64.tar.gz$")) | .name')

rm ~/code-server/code-server-*
wget ${RELEASE_URL}

tar -xzf ${RELEASE_NAME} --strip-components=1
rm ${RELEASE_NAME}

rm ~/code-server/lib/node
ln -s /usr/bin/node ~/code-server/lib/node
npm uninstall argon2
npm install argon2 --build-from-source

supervisorctl start code-server