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
Description:
When using actions/setup-node@v4 within an Alpine Linux-based container or environment, the action appears to install Node.js successfully and adds the binary to the PATH. However, attempting to execute any Node.js command (e.g., node --version) results in a silent failure or an error indicating a libc incompatibility. This is likely due to the Node.js binaries provided by the action being compiled against glibc, while Alpine Linux uses musl libc.
Action version:
v4
Platform:
Ubuntu
macOS
Windows
(Note: The issue occurs specifically on Alpine Linux, which is not listed above.)
Just to clarify — the actions/setup-node GitHub Action does not build Node.js from source, nor does it support customizing how Node.js is built or linked. Its primary role is to download and configure official pre-built Node.js binaries from the Node.js project for use in GitHub Actions workflows. These binaries are built against glibc, which is the standard C library on most major Linux distributions.
As a result, we don’t support alternative C libraries like musl, which is used in Alpine Linux.
That said, the Node.js project does offer an official Alpine container image, although it includes an unofficial Node.js build internally. These unofficial builds are statically linked against musl and may suit your needs.
If you're targeting Alpine or require statically linked binaries with musl, we recommend checking out the builds available at unofficial-builds.nodejs.org.
I understand the problem, I spent a bit of time before realizing what was going on with my setup. Thanks for the resources, I thinking changing my workflow container is easiest to resolve this. Maybe a warning somewhere in docs would make sense and help users?
Description:
When using actions/setup-node@v4 within an Alpine Linux-based container or environment, the action appears to install Node.js successfully and adds the binary to the PATH. However, attempting to execute any Node.js command (e.g., node --version) results in a silent failure or an error indicating a libc incompatibility. This is likely due to the Node.js binaries provided by the action being compiled against glibc, while Alpine Linux uses musl libc.
Action version:
v4
Platform:
(Note: The issue occurs specifically on Alpine Linux, which is not listed above.)
Runner type:
Tools version:
Applies to all versions
Repro steps:
Expected behavior:
The node binary should be executable.
Actual behavior:
The node binary fails to execute.
The text was updated successfully, but these errors were encountered: