Making the M1 leap

R macOS arm64

Resources, notes, and assorted bemoanings as I make the move from my ye olde Intel MBP (x86) to the hot new M1 (arm64), and get my R development environment up and running.

Mara Averick
2021-12-06

🚧 WIP Update

I’ve decided to take things nice and slow with this transition, but I have been keeping track of links and resources I’ve used along the way in a gist. Many of them are in the R posts listed below, but, in the event that you want to take a peek, here’s my list of links I’ve found useful along the way.

Step 0: A cry for help

Not necessary by any means, but my journey began with the announcement of my upcoming transition to the M1 build, and request for the collective wisdom from the good people of Twitter.

😳 Tomorrow I'm taking the leap from my ol' MBP running Mojave to the M1.
❓ Any fave articles, tips, resources, mistakes you wish you hadn't made (esp from #rstats folks)?
📝 I plan to document extensively.

— Mara Averick (@dataandme) December 5, 2021

You can see all of the replies by going to the original tweet (in case you’re new to how Twitter works), but the general consensus is that I should start from scratch, and that R users are pretty darn well taken care of at this point. Bob Rudis (AKA @hrbrmstr) summed it up nicely:

R Core & CRAN have done a magnificent job supporting our brave new arm64 macOS world. Setup the M1 Max MBPro from scratch the other week and the only gotcha is x86_64 ODBC drivers (for me) — which means I have to have both R architectures installed.

— bòB Ruðís (@hrbrmstr) December 5, 2021

There are already several posts out there that target my specific scenario (developer-ish person, R user, etc). If you only read one thing before embarking on this journey, leave this post now and head directly to Patrick Schratz’ excellent article, Transitioning from x86 to arm64 on macOS - experiences of an R user. It covers pretty much everything you could hope for, and is being continually updated (there’s a new section on dealing with rJava, as of this morning1).

I also recommend Garrick Aden-Buie’s Setting up a new MacBook Pro (ht Tom Mock), especially if you enjoy screenshots. Also, Stephanie Hazlitt’s immensely useful MacBook Pro M1 (2020) Set-Up.

The sojourn begins

The primary tools for this project: my old MacBook Pro, my new MacBook Pro, the aforementioned blog posts, pen and paper.

😬 This is my life now.

I feel I've already somehow borked my order of operations with respect to Dropbox and Alfred (I save my Alfred prefs in Dropbox, so I needed the latter to set up the former, blah)

📸 feat @stephhazlitt https://t.co/n0NHbyKqOC pic.twitter.com/z2yagcAVmm

— Mara Averick (@dataandme) December 6, 2021

As you may or may not be able to tell from the photo in that tweet, I have an external hard drive (y’know, the thing you keep Time Machine on). But, as of this point (almost one month later), I haven’t had cause to use it.

Homebrew all the things

Homebrew, https://brew.sh, is an absolute must for getting your on a Mac set up right. Installing homebrew is one of the first things I did after firing up the new computer:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  1. Written on 6 December, 2021.↩︎

Updates and Corrections

View all changes to this article since it was first published. If you see mistakes or want to suggest changes, please create an issue on the source repository.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. Source code is available at https://github.com/batpigandme/dataand, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Averick (2021, Dec. 6). dataand.me: Making the M1 leap. Retrieved from https://dataand.me/notes/2021-12-06-making-the-m1-leap/

BibTeX citation

@misc{averick2021making,
  author = {Averick, Mara},
  title = {dataand.me: Making the M1 leap},
  url = {https://dataand.me/notes/2021-12-06-making-the-m1-leap/},
  year = {2021}
}