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
We need to kickstart the discussion again on how we plan to support the new Mac hardware which is due to be announced on Nov 10th.
We last had the discussion in the build meeting in july where we had some discussion as to whether to do 2 binaries or to go for fat binaries.
We also need to discuss sourcing hardware - We currently have two DTKs kindly donated by macstadium but no release machine as of yet and these DTKs will go back to apple at some point.
To Do:
Add 11.0 to versionselector to ensure we build only on master
Enable the macos-arm job in normal test regressions
Get the DTKs back into CI for testing
Test compiling and running node natively on the mac arm hardware
Test if a current release runs on the new hardware through the translation layer
Figure out a source of hardware to add to our CI for when our DTKs go back to apple
Note down size difference in binaries between: intel, arm and fat.
I think we'd agree to do fat binaries as they seemed preferable for a number of reasons.
In terms of hardware longer term, we should see if macstadium has a longer term answer for that now as having them provide the hardware is the easiest path for us.
+1 to fat (again, I think? I don't recall). We used to do fat for x86+x64 until we ripped that out for io.js (and then Node 4). There's still echoes of the code to do it in nodejs/node Makefile and tools/ and it's certainly in the git history.
For hardware, we really should have redundancy here too. Same approach as we have for x64. Rely on macstadium (assuming they'll let us use official hardware for this) but get our own and ask nearForm if they'll kindly host them for us as backups.
@rvagg redundancy makes sense. I don't think we can order ARM mac mini H/W yet, correct me if I'm wrong on that and I can start the discussion with the Foundation.
No, we're really just waiting to see Apple's announcement tomorrow. Rumours are suggesting laptops, which is probably not going to be helpful. But 🤞 we may get mini's out of this in which case we should jump straight on it.
Yeah the event looks to be the announcement of just 2 laptops according to rumours at least - we might be another year or so away from iMacs and mac minis.
@mhdawson can you start the discussion with the Foundation about getting a couple of minis? And we'll need to make sure we have somewhere to put them, I guess we need to probe nearForm on this unless we have other options.
Reacted by Daniel Fitzsimmons and Wellington Rodriguez
just as an FYI I am working to get the DTKs into our regular regression runs to get some testing at least on the platform - I managed to brick one updating to the latest big sur but macstadium have swapped it out for another one. Im waiting to hear back if its safe to update the second one before I carry on.
@rvagg last time we also asked for virtualization software so that we could have a 2 vms on each mac mini so that 1 for test and one for release would be good enough. Do you know if the same software will work on the arm machines?
Key difference this time is the minis are 8 core instead of 6 core so we may be able to get away with running 3 VMs on one mini, The next issue is VMware fusion which I cant seem to find any more mention besides "soon" or "we are working on it" for M1 support
Oh, right yeah, the VM problem. I bet VMWare aren't treating this as a top priority. I wonder if we need to shop around for that. Maybe Orka is the only game in town for now unless we're happy to go bare metal for these?
@nschonni Thanks. From the perspective of an outsider, I don't think Node has really explained their timeline or their progress on this issue. As someone at nodejs/TSC#886 pointed out: there is no single source of truth for those of us trying to get Node running on arm64—you have to cobble together bits and pieces from several threads all over the place. The people with the expertise are in these threads, so it's natural to talk to them there.
Also: These threads are the top results when Googling "Build Node on Apple Silicon" and similar. That's naturally going to funnel people here, unfortunately.
If you want to avoid that in the future, when large-scale platform transitions occur, it would be a good idea to update the "releases" page at nodejs.org with a link that says something like, "Trying to build Node on that new M1 Mac? Here's what you need to know." Centralize the expertise and you won't be bothered by the unwashed idiot masses (me).
Reacted by Pablo Sáez, Patrick, Tomáš Horáček, George Petrov, Linus Unnebäck, Juan Villela, Jesse Panganiban, Seungin Lyu, Anuar Aitimov, Duncan McGill and 1 more
Reacted by Tomáš Horáček, Benjamin, Jesse Panganiban, Tyler Smalley and Duncan McGill
All my M1 mini is in route, while I am not a developer I want to assist in any way that I can. Even if it means picking up a new skill / helping test compilation or running various tests.
Closing. Support for Apple silicon is 15.x and above, and the binaries will be released with the 16.x release next week
Reacted by Benjamin, Miroslav Bajtoš, Dennis Ameling, Sergio Pantoja, Richik SC, William Reiske, Jovan, Marco Valente, Lucas Trevisan, MikeB and 17 more
Reacted by Erik Hanson, Dennis Ameling, Richik SC, Dafne Kiyui, William Reiske, Jeff Rosen, Marco Valente, Lucas Trevisan, Miguel Espinoza, Christian Massold and 16 more
Reacted by Jesse Youngblood, Benjamin and Mateusz Budzisz
Reacted by Valentin Semirulnik, Øyvind Marthinsen, Mallandhir, Pablo Sáez, Steven, Jose Jesus Guzman Eusebio, Mark Cohen, Sergio Pantoja, Richik SC, William Reiske and 9 more
Activity
mhdawson commentedon Nov 5, 2020
I think we'd agree to do fat binaries as they seemed preferable for a number of reasons.
In terms of hardware longer term, we should see if macstadium has a longer term answer for that now as having them provide the hardware is the easiest path for us.
rvagg commentedon Nov 5, 2020
+1 to fat (again, I think? I don't recall). We used to do fat for x86+x64 until we ripped that out for io.js (and then Node 4). There's still echoes of the code to do it in nodejs/node Makefile and tools/ and it's certainly in the git history.
For hardware, we really should have redundancy here too. Same approach as we have for x64. Rely on macstadium (assuming they'll let us use official hardware for this) but get our own and ask nearForm if they'll kindly host them for us as backups.
gengjiawen commentedon Nov 6, 2020
We have PRs need to run on silicon too: nodejs/node#35986.
mhdawson commentedon Nov 9, 2020
@rvagg redundancy makes sense. I don't think we can order ARM mac mini H/W yet, correct me if I'm wrong on that and I can start the discussion with the Foundation.
rvagg commentedon Nov 9, 2020
No, we're really just waiting to see Apple's announcement tomorrow. Rumours are suggesting laptops, which is probably not going to be helpful. But 🤞 we may get mini's out of this in which case we should jump straight on it.
AshCripps commentedon Nov 10, 2020
Yeah the event looks to be the announcement of just 2 laptops according to rumours at least - we might be another year or so away from iMacs and mac minis.
AshCripps commentedon Nov 10, 2020
Turns out they did announce new mac minis so it might be worth speaking with the guys at macstadium again to see their timeline.
rvagg commentedon Nov 10, 2020
@mhdawson can you start the discussion with the Foundation about getting a couple of minis? And we'll need to make sure we have somewhere to put them, I guess we need to probe nearForm on this unless we have other options.
AshCripps commentedon Nov 11, 2020
just as an FYI I am working to get the DTKs into our regular regression runs to get some testing at least on the platform - I managed to brick one updating to the latest big sur but macstadium have swapped it out for another one. Im waiting to hear back if its safe to update the second one before I carry on.
mhdawson commentedon Nov 11, 2020
@rvagg last time we also asked for virtualization software so that we could have a 2 vms on each mac mini so that 1 for test and one for release would be good enough. Do you know if the same software will work on the arm machines?
We'll also need to agree on the specs. From https://www.apple.com/ca/shop/buy-mac/mac-mini there only seem to be 2 choices, one with the only difference being the SSD size.
AshCripps commentedon Nov 11, 2020
Key difference this time is the minis are 8 core instead of 6 core so we may be able to get away with running 3 VMs on one mini, The next issue is VMware fusion which I cant seem to find any more mention besides "soon" or "we are working on it" for M1 support
nschonni commentedon Nov 11, 2020
I think there is also supposed to be support for 16GB or ram https://www.anandtech.com/show/16235/apple-intros-first-three-apple-silicon-macs-late-2020-macbook-air-13inch-macbook-pro-mac-mini but it doesn't look like it's on the shop eitherThe memory option is there once you select the HDD model
rvagg commentedon Nov 12, 2020
Oh, right yeah, the VM problem. I bet VMWare aren't treating this as a top priority. I wonder if we need to shop around for that. Maybe Orka is the only game in town for now unless we're happy to go bare metal for these?
40 remaining items
bdkjones commentedon Mar 4, 2021
@nschonni Thanks. From the perspective of an outsider, I don't think Node has really explained their timeline or their progress on this issue. As someone at nodejs/TSC#886 pointed out: there is no single source of truth for those of us trying to get Node running on
arm64—you have to cobble together bits and pieces from several threads all over the place. The people with the expertise are in these threads, so it's natural to talk to them there.Also: These threads are the top results when Googling "Build Node on Apple Silicon" and similar. That's naturally going to funnel people here, unfortunately.
If you want to avoid that in the future, when large-scale platform transitions occur, it would be a good idea to update the "releases" page at nodejs.org with a link that says something like, "Trying to build Node on that new M1 Mac? Here's what you need to know." Centralize the expertise and you won't be bothered by the unwashed idiot masses (me).
AshCripps commentedon Mar 4, 2021
There is a pinned issue on nodejs/node which is as up to date as to our progress - nodejs/node#37309
kalwiggins commentedon Mar 5, 2021
anyone get node 10 to work on apple silicon? I haven't been able too
architchandra commentedon Mar 17, 2021
Can't get Node
10.14to install usingnvmon an M1 Mac Air. Any workarounds?billinghamj commentedon Mar 17, 2021
I would say that is expected. Node 15 supports M1. For older versions, use Rosetta
Edit:
Keep in mind this note at the top of #37309:
arcreigh commentedon Apr 15, 2021
All my M1 mini is in route, while I am not a developer I want to assist in any way that I can. Even if it means picking up a new skill / helping test compilation or running various tests.
AshCripps commentedon Apr 15, 2021
Closing. Support for Apple silicon is 15.x and above, and the binaries will be released with the 16.x release next week
marckohlbrugge commentedon May 11, 2021
Are the Apple Silicon builds for 15.x still planned? I can see them for 16.x but not for 15.x
targos commentedon May 12, 2021
No, and there are no more releases planned for v15.x
7rulnik commentedon May 12, 2021
@targos what about 14.17+?
AshCripps commentedon May 12, 2021
@7rulnik 14.x releases of apple silicon are currently not planned but the support is in the code base if you wish to build from source.
sudokoi commentedon Aug 26, 2021
@architchandra did you find a solution?
johanneswuerbach commentedon Aug 26, 2021
@tsuki42 a workaround is documented here nvm-sh/nvm#2350 (comment)
sudokoi commentedon Aug 26, 2021
@johanneswuerbach That seems to have worked. Thanks! 🙏