If you're getting this kind of error when running Node.js programs with binary dependencies that don't support M1 yet, e.g.:
$ yarn test
dyld[51175]: missing symbol called
dyld[51176]: missing symbol calledtl;dr: (Re)install a x64 build of Node.js.
- 
Start a new shell using Rosetta2
$ arch -x86_64 zsh
 - 
In that shell, reinstall the
x64version of Node.js$ nvm use system $ nvm cache clear $ nvm uninstall 16 # or the version you need $ nvm install 16 # or the version you need $ nvm use 16 # or the version you need
 - 
Still in that shell, reinstall and build npm dependencies from scratch
$ rm -rf node_modules $ yarn cache clean $ yarn install
 - 
Whenever you come back to your project (e.g. after restarting), don't forget to select that same version of Node.js!
$ nvm use 16 # or the one you installed in step 2 
If you still see the error:
- 
Try (re)installing your dependencies with
npm installinstead ofyarn install. - 
It could be that the
nodecommand is not linked tonvm.- To check that, run 
nvm use 16; nvm lsand check that the little arrow (->) targetsv16. - If it targets 
system, you may want to uninstall any other installation ofnode(e.g.which node; brew uninstall node), then retry the whole procedure. 
 - To check that, run 
 
@adrienjoly 's solution works for me.