You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm opening a tracking issue for our plan regarding apple silicon, including our dependencies.
It might be possible to source some development kits via the Foundation if we need them, as this was done in the past for our CI. Should we work in that direction?
We have a few high meta questions to answer: should we look to backport the support to 14.x or 12.x? Or are we targeting 15.x only?
I don't think there is a lot of time.
(If any person of Apple wants to join the discussion as you said you would this is a good spot :)).
This definitely should be connected to the Windows ARM64 support as well. We have support in for that, so I wouldn't expect there to be much left to do to support Apple Silicon but it's definitely something we need to audit and make sure we're fully supporting.
Specifically, among other things we need to verify...
Do all of our native dependencies support ARM64
brotli
cares
histogram
icu-small
llhttp
nghttp2
nghttp3
ngtcp2
openssl
uv
uvwasi
v8
zlib
Do all of our build tools support ARM64
python
gyp
c/c++ linter
cctest
icu
code-cache
snapshot
Do we have CI coverage
Apple Silicon
Windows ARM64
The answer is likely yes to all most of these and we can likely check everything off but we should make sure.
Reacted by Jesse Youngblood, Kakise, Dennis Ameling, Arnaud Jezequel, Yukai Huang, ELLIOTTCABLE, Muhammad Rosyid, Eric Wei, Renick, John Cido and 5 more
I'm not sure what is the problem we are trying to solve here.
Logistics.
My current issue as the CPC representative is to check if we need to try to buy a few dev kits and give them to collaborators and/or add them to our CI. Without the devices, we can't do much.
Without test machines for the CI any support would be experimental at best.
@jasnell We'd also need to verify python and gyp in terms of build tools.
We have a few high meta questions to answer: should we look to backport the support to 14.x or 12.x? Or are we targeting 15.x only?
For backporting I think that really depends on what (if any) changes are required. I'm particularly concerned if we'll need to introduce branches in the gyp files to support ARM on macOS.
My current issue as the CPC representative is to check if we need to try to buy a few dev kits and give them to collaborators and/or add them to our CI. Without the devices, we can't do much.
As part of this, let's explore also adding Windows ARM64 to the CI test matrix.
Reacted by Stewart X Addison, Linz, Jesse Youngblood and Dennis Ameling
My current issue as the CPC representative is to check if we need to try to buy a few dev kits and give them to collaborators and/or add them to our CI. Without the devices, we can't do much.
As part of this, let's explore also adding Windows ARM64 to the CI test matrix.
...if we need to try to buy a few dev kits and give them to collaborators and/or add them to our CI. Without the devices, we can't do much.
@mcollina ... likely a good idea, with priority going to members of the @nodejs/build team so that they can work out any possible issues getting things to compile and run.
I'd suggest locking this thread to collaborators and opening a separate issue over on https://github.com/nodejs/help/ for all the people that are just debugging their individual setups
Reacted by Hugo Maestá, Jackson Hu, Antoine du Hamel, Michael Dawson, Tobias Maier, Andor Polgár, Jesse Youngblood, Tobias Weichart, Jannis and Dmitriy Brolnickij
As per #886 (comment) I went ahead and locked the issue to collaborators. Please open new issues in nodejs/help to discuss debugging individual setups.
Activity
devsnek commentedon Jun 24, 2020
I wouldn't imagine we need to make too many changes, they're just arm right?
jasnell commentedon Jun 24, 2020
This definitely should be connected to the Windows ARM64 support as well. We have support in for that, so I wouldn't expect there to be much left to do to support Apple Silicon but it's definitely something we need to audit and make sure we're fully supporting.
ChALkeR commentedon Jun 24, 2020
I'm not sure what is the problem we are trying to solve here.
For example, what are the potential problems and what might be needed to be done, except for extending the CI matrix?
Upd: ah, @jasnell comment from seconds ago explains it.
jasnell commentedon Jun 24, 2020
Specifically, among other things we need to verify...
The answer is likely yes to
allmost of these and we can likely check everything off but we should make sure.mcollina commentedon Jun 24, 2020
Logistics.
My current issue as the CPC representative is to check if we need to try to buy a few dev kits and give them to collaborators and/or add them to our CI. Without the devices, we can't do much.
targos commentedon Jun 24, 2020
There's probably some non-trivial work to do to teach GYP to generate ARM projects for XCode
richardlau commentedon Jun 24, 2020
Without test machines for the CI any support would be experimental at best.
@jasnell We'd also need to verify python and gyp in terms of build tools.
For backporting I think that really depends on what (if any) changes are required. I'm particularly concerned if we'll need to introduce branches in the gyp files to support ARM on macOS.
jasnell commentedon Jun 24, 2020
Added to the checklist
jasnell commentedon Jun 24, 2020
As part of this, let's explore also adding Windows ARM64 to the CI test matrix.
mhdawson commentedon Jun 24, 2020
@AshCripps can you check with our OSX infra donator to see if they have any plans to include ARM64 support.
sxa commentedon Jun 24, 2020
If this tweet I RT'd is legit (possibly from WWDC - I wasn't watching!) then they may already be looking at it: https://twitter.com/MarkVillacampa/status/1275200446764912643
richardlau commentedon Jun 24, 2020
https://ci.nodejs.org/job/node-test-commit-windows-arm64/
History:
jasnell commentedon Jun 24, 2020
@richardlau ... yeah, I know that job has existed but as far as I know and I could be mistaken) it is not run as part of regular CI runs, correct?
richardlau commentedon Jun 24, 2020
Correct. I think we even stopped producing unofficial builds for Windows ARM (AFAIK).
jasnell commentedon Jun 24, 2020
@mcollina ... likely a good idea, with priority going to members of the @nodejs/build team so that they can work out any possible issues getting things to compile and run.
48 remaining items
ajonescodes commentedon Dec 9, 2020
Anyone have step-by-step instructions?
andreialecu commentedon Dec 9, 2020
@playvici: #886 (comment)
nschonni commentedon Dec 9, 2020
I'd suggest locking this thread to collaborators and opening a separate issue over on https://github.com/nodejs/help/ for all the people that are just debugging their individual setups
AdityaChaudhary commentedon Dec 14, 2020
@playvici
Here https://ported2m1.com/app/kcnaqU7k7CMDVmQWuvPa
I was able to install it through brew.
ajonescodes commentedon Dec 19, 2020
do i need to uninstall x86 brew and reinstall as arm?
ElliotQi commentedon Dec 20, 2020
I really need node v12 in mac silicon
AdityaChaudhary commentedon Dec 22, 2020
@playvici it depends on you. I keep both the versions.
I have added an alias for it, brewin
So, I use > brewin install... for x86 binaries
And > brew install... for M1 binaries
Add this to end of your zshrc/bashrc file after installing both versions.
You can try installing something with brew install (for native M1), if that fails install it with brewin (Intel using Rosetta).
LukaGiorgadze commentedon Jan 4, 2021
To install Node 15.x arm64 on M1, you need:
/bin/bash -c "$(curl -fsSL https://github.com/raw/Homebrew/install/HEAD/install.sh)"brew install nodenode -p process.archthis should printarm64mhdawson commentedon Jan 4, 2021
As per #886 (comment) I went ahead and locked the issue to collaborators. Please open new issues in nodejs/help to discuss debugging individual setups.
mcollina commentedon Jan 25, 2021
@nodejs/build It would be good to have an update on the progress of getting an official build out. I could not find any easy-to-follow tracking issue.
@nodejs/tsc as we can see, this is a highly requested feature. I think we might want to flag it as a "Strategic Initialive".
mhdawson commentedon Apr 22, 2021
V16 shipped with M1 support so closing :)