-
Notifications
You must be signed in to change notification settings - Fork 252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Medium] Fetch Native Apple Silicon Node builds for Node 16+ #974
[Medium] Fetch Native Apple Silicon Node builds for Node 16+ #974
Conversation
0c91bac
to
cfd717f
Compare
🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have three comments:
- This is awesome! And wow is Node running native on M1 fast.
- Thank you for all the clear comments along the way!
- The fact that this also passes around
Version
instead of&str
is 🤩
!
Should this be working now? I'm using volta 1.0.4 and volta install node@16 installs an x86_64 version. |
Hmm. It should, yes, and I’ve seen it fetch the right thing. 🤔 Can you provide further information on Volta itself, the Node installed, etc.? |
It may be because I fetched node@16 before upgrading volta. More info:
|
Also, this didn't help:
|
HMMMM. A couple more investigatory questions:
|
Np, happy to help.
I'm running these commands using Alacritty, which launches zsh, which launches tmux, which launches zsh 😅
|
I'm not at all an expert in how Rosetta works, but I'm wondering if starting with Alacritty (which appears to be an x64 program) puts everything underneath it into "Compat mode", meaning even though For some context, Another thing worth checking, since the install involves piping into bash, would be the output of |
I know almost nothing about Rosetta tbh. I found some interesting things: This is run under zsh, which according to activity monitor is running without rosetta:
This seems to indicate that this comment is right
So I opened Terminal.app, running zsh without tmux (both are aarm64), and this worked:
Now on Alacritty:
|
Okay, great! Yeah, it seems like something in the setup (my guess is alacritty at the start, but I don't have enough expertise to know for sure) was setting things up in a way that misled the Volta installer, causing it to fetch the x64 Mac version, instead of the native one. Now that you have the proper native one, however, Volta should work properly even in the Alacritty environment (since it uses compile-time flags to determine the architecture, rather than detecting it at runtime). So I believe you should be good to go. One last thing, as I mentioned |
Oh, I missed that part! Yeah, it's |
Closes #919
Info
Changes
tool/node/mod.rs
to include the constant values for Apple Silicon architecturefiles
metadata in the Node index will check for both the native and x64 versions of Node.archive_filename
on Apple Silicon builds to check the Node major version and fetch either a native or x64 build of Node depending on whether it is greater than or equal to 16.Tested
Notes