The discussion revolves around using Apple’s M1 MacBook Pro for Discourse development. Ahmed_Gagan seeks advice on whether the M1 is suitable for development, and sam and david confirm it works well, with some initial compatibility issues now resolved. david notes a significant performance boost and points to a detailed topic on M1 Docker emulation. rudzainy shares challenges with managing multiple tech stacks (Rails, React Native) on M1 due to ARM architecture, using aliases and scripts for organization. sam suggests using Docker for isolation, though david clarifies that M1 Docker has issues with Discourse’s base image. He recommends tools like Bundler, Yarn, and RVM for managing dependencies and Ruby versions across projects.
Hi there,
I am planning to get Apple macbook pro M1 for discourse development and wanted to get some community dev’s review about Apple’s m1 processor with discourse development.
Do you suggest getting Apple MacBook pro M1 as primary discourse development device?
Yeah it works great! Combatibility was a little rough to start with, but now Postgres/Redis/Ruby/Discourse are all working great! A huge perf upgrade compared to my previous intel MacBook. There are a few more details in this topic
Hello Anyone has Discourse development setup on an M1 machine while also developing other projects using other technologies? How’s the experience and what’s your process like?
I am developing and maintaining a few other projects and it’s been a pain to switch between them, now even more than ever because of the M1 ARM architecture. Adding and hacking configs to make things run (like different binary locations for different tech stacks and CLIs, different SSH keys for different emails) has been a real chore. So I am trying to optimise the process and am using aliases and basic scripting in my .zshrc file.
At this point in time, I just limit myself to developing my Discourse theme and reading the Discourse codebase
Reference:
Other tech stacks I’m developing on my M1 machine besides Discourse:
Unfortunately the M1 Docker implementation has some issues which mean our base image doesn’t work
As for isolating dev environments - I guess my advice would be to make sure you’re using Bundler / Yarn to allow installing different dependencies for each project. For Ruby, there are also tools like rvm which allow you to instantly switch between different versions of Ruby.