serverless: Missing native binary installer for arm64 architecture
Attempting installation via curl -o- -L https://slss.io/install | bash on an M1 mac results in the following error:
Sorry, there’s no serverless binary installer available for arm64 architecture. Please open request for it at https://github.com/serverless/serverless/issues
This is a fresh install on a fairly new machine, most of template bits for submitting a new issue were not applicable to this problem, I hope this format is acceptable.
I’m happy to help out with any debugging or providing any resources required to help support the new macs.
Edit by @pgrzesik
As of 2.69.0 version it is now possible to install binary on M1 Macs, however, these binaries are not native to arm64 architecture and still need Rosetta to run. For now we’ve postponed building and publishing native arm64 binaries because our CI/CD pipeline at the moment does not have easy access to M1 Macs for building such binaries.
About this issue
- Original URL
- State: open
- Created 4 years ago
- Reactions: 26
- Comments: 20 (7 by maintainers)
Install serverless using the new homebrew version for Mac m1
brew install serverlessand you will install the version for arm64_big_surInstaller working fine with terminal open with Rosetta,
slsis then working as expected, even with native Terminal.I believe the “getting started” page should mention
brew install serverless.It should be noted that mac is not the only possible use case for this. There may be some people who prefer to use ARM-based Linux workstations, such as Chromebook (mentioned earlier in this issue) or Raspberry Pi. Also, Windows on ARM is also a thing and WSL (Windows Subsystem for Linux–something akin to a Linux VM) doesn’t have something like Rosetta to handle arm-amd translation.
For me specifically, my team builds a general purpose docker image for our CI/CD pipelines, and some of the targets are linux arm. We’re currently unable to bundle serverless in the image for arm because there isn’t a standalone binary install for that platform. We could install NodeJS and install it that way, but we try to keep components small, because we put a lot of other things into the image.
Hey @mnapoli - sorry for not answering sooner. I don’t think we should close this issue as the current approach only addresses it partially - it’s possible to install binary on M1 Macs, but it’s still running via Rosetta and isn’t built natively for arm64 arch. I think if we were to close this issue, we should open another one that will be used for tracking support for native M1 binary specifically. What do you think?
Hey @pgrzesik , Yes, that’s what I ended up doing and it installed just fine.
Seeing “Install as standalone binary” as the first option on https://www.serverless.com/framework/docs/getting-started/ sent me down the wrong path initially. I then realized that’s not how I have it installed on the other machines I use it on. I finally installed it from the instructions on main Github page.
Thank you for reaching out.