Leaving this gist in the hopes that this helps someone some day.
I was using a docker image with Alpine linux. In this docker container I installed a specific version of node via several methods (nodenv, asdf, etc.) and each time I had to add the gcompat package so I could run glibc applications.
When I tried to install many npm packages such as yarn and corejs and others I would get the error:
Error: spawn sh ENOENT
I belive I finally realized that Error: spawn sh ENOENT is happening since npm is trying to launch sh and there is some incompatibility with a glibc app running with gcompat trying to launch a non-glibc app like sh