Apple M1 Macs for Web Development - What's working and what's isn't (so far)?

Apple M1 Macs for Web Development - What's working and what's isn't (so far)?

"The transition to Apple's ARM CPU for developers may not be as smooth as it is for other users. In this post, I am going to keep a log of the problems I encounter setting up and using my M1 MacBook Pro for Web Development."


I recently got my M1 MacBook Pro and while I do love it very much, setting up some of the tools for development is, unfortunately, not as straight forward as other programs normally tested by reviewers. In this post, I am going to log down some of the programs I found so far setting up my Mac for my typical web development work flow.

I have to add that I am only using this device for web development as a hobby. I have another machines for my work. As such, the things I am running here may not cover everything that most people doing web development professionally would do.

I would say, if this will be your one and only work machine, wait for a bit more before jumping in.

What work:

As of 16 Jan 2020:

  • Homebrew is supported (2.6.0)
  • Node 15+ is supported but you may need to build it from source (nvm will automatically do it for you).

What are broken:

As of 16 Jan 2020:

Gatsby - YMMV

It seems like sharp package is not compatible due to its dependency being incompatible.

You may use homebrew to manually install libvips by running the command:

 brew install vips

This will allow sharp to be installed via npm or yarn. However, running gatsby develop in the project still generate compile time errors.

Updating gatsby to 2.30.3 and gatsby-plugin-sharp to 2.12.2 allow the code to run but produces different runtime errors, causing the server to crash upon first navigation/request. Updating other dependencies doesn't solve the error.


Written by Romson Preechawit

Hi there! I'm a typical geek, designer, developer. Love coding, design, photography, reading, and a lot more. English is not my first language so please help correct my grammar! :)

Romson Preechawit