M3 MacBook setup for development fullstack
As a full stack engineer with knowledge of Python and Ruby on Rails, here are some basic packages and tools I have (updated for Silicon macOS)
- Xcode Command Line Tools: It's a MUST for many development tasks on macOS.
$ xcode-select --install
- Homebrew: Package manager for macOS. It's a MUST
Homebrew now has native support for Apple Silicon Macs, including those with M1, M2, and M3 chips. The installation process is the same as on Intel-based Macs, and it will automatically install the ARM64 version of Homebrew designed for Apple Silicon.
-
Git: Version control system.
brew install git
-
Terminal emulator: iTerm2 or the built-in Terminal app
More info about XCode CLI, Homebrew, Git and Terminal emulator 👇🏽
- Text editor or IDE
I'm a JetBrains's fan. I started with IntelliJ IDEA during my Java time and have continued with RubyMine, PyCharm, and WebStorm since I moved to the USA. However, Visual Studio Code is my favorite free IDE, no doubth!
- Languages*
Ruby / RoR / Nodejs
- Use a Ruby Manager or a Multiple Runtime Version Manager
I've used asfd
lately over rbenv
or rvm
. ASDF can manage other languages like Node.js too, so it's been my choice lately.
Its installation is pretty easty.
First install dependencies brew install coreutils curl git
.
Then you can use Homebrew or brew install asdf
or git to clone it.git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch <version>
Lastly, add . "$HOME/.asdf/asdf.sh"
to ~/.zshrc
(assuming you are using ZSH)
We need ASDF plugins for each language we want to use.
For Ruby / Rails use the following command:
asdf pluggin add ruby
To install Ruby and set the default version as global, run the following commands:
asdf install ruby <version>
# or asdf install ruby latest
asdf global ruby <version>
# Update to the latest Rubygems version
gem update --system
For NodeJs
Per ASDF, we should install dependencies first as some Plugins have post-install hooks.
brew install gpg gawk
asdf install nodejs latest
asdf global nodejs latest
# Install yarn for Rails jsbundling/cssbundling or webpacker
npm install -g yarn
Python
pyenv
or conda
for managing Python environments.
Check
MacOS setup for Python for pyenv
Installing conda
is pretty straighforward. I followed Conda's tip. "If you are just starting out, we recommend installing Conda via the Miniconda installer."
Download the latest Miniconda installer for macOS with Apple Silicon. After the installation is finished, open your terminal and type the command conda. You will see (base) in your terminal, which is the default environment.