nodenv / node-build

Install NodeJS versions
MIT License
269 stars 80 forks source link

Support for musl libc #722

Open augustobmoura opened 2 years ago

augustobmoura commented 2 years ago

Currently, node-build is downloading the generic glibc binary for Linux independently of which libc the system uses. This is a problem in systems that use musl libc (Alpine, for example).

Node.js provides experimental pre-compiled binaries for musl, aside from being able to be built from source with musl. We should at least compile from source when the libc present is different from glibc, and optionally provide the download of the pre-compiled binaries from the unofficial builds.

I suggest modifying the platform function to append -musl to the system arch when in a distro using musl libc. I will work on a PR for it.

Related to https://github.com/asdf-vm/asdf-nodejs/issues/190

augustobmoura commented 2 years ago

Incidentally, we could support all the other experimental pre-compiled binaries at https://github.com/nodejs/unofficial-builds#builds

amkisko commented 2 years ago

Hey! It was quite long path until I got here, also maybe this can bring some ideas on implementation: https://gist.github.com/ralexandr/8d991531360123dff9b9f72faaa0f0de - nvm supports patching and I was looking for something similar in nodenv, but unfortunately no such built-in things available.