DEV Community

Cover image for Apple M1 Pro for Ruby development
Pete Hawkins
Pete Hawkins

Posted on

Apple M1 Pro for Ruby development

I was lucky enough to get my 14" M1 Pro MacBook this week.

Prior to ordering, I had some concerns about web development on Apple Silicon and wanted to share my experience so far.

TLDR; Everything works with only very minor issues. I was able to install everything natively on the arm chip, I did not need Rosetta for compatibility.

Ruby

Following the GoRails guide for Monterey using rbenv, everything installed with no problems.

The only thing I noticed was that Homebrew now seems to install to /opt/homebrew instead of /usr/local/homebrew, although that might just be a later version of Homebrew, rather than an Apple Silicon specific thing.

Node.js

With Homebrew and Ruby set up, the next thing I needed was Node. I used node version manager and installed node v14 and v17 without issues.

Heroku CLI

This was where the first issues started. Heroku’s CLI is recommended to be installed using Homebrew, which throws a bunch of issues about x86 incompatibility.

The workaround I found, which I couldn’t find documented anywhere was to install Heroku CLI using npm.

npm i -g heroku
Enter fullscreen mode Exit fullscreen mode

The only problem here, is that with NVM, you will need to install Heroku on each node instance you plan to use, so it’s always available inside your projects.

Rosetta / compatibility

I was surprised that I didn’t need Rosetta installed, for the most part all the major apps I used, including Hyper (for terminal) and VS Code have Apple Silicon support.

I found a couple of smaller apps like ImageOptim don’t yet have support for arm, and rather than installing Rosetta, I’ve just not installed that yet, I’m sure I will be able to find a workaround if I need to compress images.

Compared to my old 16" Pro

I was previously using a 16" MacBook Pro with an intel i9 CPU, the biggest problem I had with that laptop was the heat and fan noise.

Even screen recording, or taking a video call would max out the fans and cause the laptop to get extremely hot.

I’m very pleased to say the M1 Pro doesn’t have this issue, I haven’t heard the fans ramp up once, and that includes when compiling Ruby – which is awesome!

It also doesn’t get very warm when using it on your knee which I also like.

Performance and conclusion

Finally, the performance is immense! For reference I purchased the higher standard config of the 14", so it has the 10 core CPU, 16 core GPU and 16GB of unified memory (I picked a standard config as I wanted to get it on day 1).

Compiling Ruby and Node happened really quickly and I’ve been very pleased with everything so far! My favourite ever laptop was the 13" MacBook Air (from 2011 I think?!), since then I’ve always had the 15" or 16" laptops, and I’m very pleased to be able to get a high performance chip in the smaller form factor again.

Top comments (4)

Collapse
 
therealrodk profile image
therealrodk

Just a note about trying to work on legacy apps. According to rubyonmac.dev, "you can't safely install a version of Ruby older than 2.6.8 on an M1 Mac." I have been trying to get a Ruby 2.4.4 app up and running for a few days, to no avail.

Collapse
 
phawk profile image
Pete Hawkins

That's good to know thanks! I don't have any apps less than 2.7 fortunately.

Collapse
 
monfresh profile image
Moncef Belyamani

I'm the creator of rubyonmac.dev and I wanted to provide an update. With my "Ruby on Mac Ultimate" product, it is now possible to easily install Ruby versions as old as 2.1 on Apple Silicon Macs, using Rosetta. You can also install Ruby 2.6.10+ in native mode (without Rosetta).

Collapse
 
spaquet profile image
Stephane Paquet

Cannot agree more. I too was surprised by the number of apps already running on Apple Silicon.

I would add to the list Docker which has also its own M1 version