This where I admit I’m an idiot and post the solution for others who didn’t already figure this out.
This was a VSCode problem. Everything was working as intended, but a race condition of a sort was breaking my needed flow.
My VSCode was launched. It’s the intel build, and it’s running the ElixirLS extension (jakebecker version).
I knew I needed to rebuild, so I rm -fr my deps and _build directories.
When VSCode was running in the background, after I deleted the deps directory, it re-fetched the dependencies automatically. The Intel versions, however that works. Rebuilding resulted in the mismatched versions of the bcrypt_nif.so, and Phoenix freaked the hell out when I tried to do any user authentication.
When I completely quit VSCode and built from the terminal after deleting the deps and _build directories, everything fetched and elixir_bcrypt built for the proper architecture.
I didn’t realize that VSCode was using its spawned Intel beam process to correctly fetch those deps according to its architecture. I wanted to share in case someone else has a brain fart like I did. I’ll probably switch to the VSCode insiders arm64 version until the main release gets the Apple Silicon treatment. Or maybe it’s finally time to switch to emacs.






















