I downloaded several pre-built binaries of the same program  (nodejs-linux, -x86, -x86_64). In different shells I get a similar error that no such file or directory: node. The $PATH is correct and the binaries exist and are executable. Is this because I'm on a musl-based linux distribution and the binaries use glibc?  I thought the programs would crash or exit non-zero in such a case.Note: Both @DepressionDaniel and @xhienne gave correct answers below.
Various shells won't run a binary that exists
executable;glibc;dynamic linking
If your libairies dont match the dynamic librairies required by the executable, it won't even start. To check the dynamic librairies this executable is linked to, do:ldd /path/to/executableIf you see => not found, you know what is missing.