DEV Community

Cover image for The First Two Dev Tools Installed On My M1 Mac

The First Two Dev Tools Installed On My M1 Mac

Brian Douglas on February 21, 2022

I was overdue for an upgrade at my day job and recently received a 16 inch M1 Macbook Pro. If you work at Tech Company as a developer, you get prov...
Collapse
 
val1984 profile image
Valentin • Edited

I'm surprised no one mentioned Homebrew yet :)
brew.sh

Collapse
 
stripedpurple profile image
Nixua

Volta is great, I use it on my work windows machine, but for Mac and Linux my preferred is n by tj

github.com/tj/n

Collapse
 
bdougieyo profile image
Brian Douglas

Wow wasn’t aware of n.

Collapse
 
anthonyjdella profile image
offline

VSCode would be my 3rd dev tool 🤣

Collapse
 
nickytonline profile image
Nick Taylor

I've used n and nvm, currently back on n, but definitely going to check out Volta!

Collapse
 
gmarcos87 profile image
Marcos Gutierrez

Interesting, I did not know Volta. Every day I learn something new! Thanks for sharing.

Collapse
 
hipertracker profile image
Jaroslaw Zabiello

Before I used nvm for Node, rbenv for Ruby, pyenv for Python, etc. I replaced all with asdf asdf-vm.com/. It is clean, consistent and multiplatform.

❯ asdf list
crystal
  1.4.0
elixir
  1.13.3-otp-24
elm
  0.19.1
erlang
  24.3.2
  25.0-rc2
golang
  1.18
julia
  1.7.2
nodejs
  16.14.2
python
  3.10.4
ruby
  3.1.2
rust
  1.60.0
Enter fullscreen mode Exit fullscreen mode
Collapse
 
scanepa profile image
Stefano Canepa

The first 2 dev tools I installed on my MacBook Pro are: oh-my-zsh and vscode and then I went on with go, iterm2, brew, nvim, and podman. I actually should write and article about what I did in my first day back using a Mac

Collapse
 
yw662 profile image
yw662 • Edited

The per-project switching sounds great. Is it based on the engines field of package.json or some other configurations ?

Collapse
 
bdougieyo profile image
Brian Douglas

It is the engines field. docs.volta.sh/guide/understanding#...

Collapse
 
yw662 profile image
yw662 • Edited

That doesn't seem to be the engines field though.

Thread Thread
 
bdougieyo profile image
Brian Douglas

yeah, you are correct on that. Seems like Volta explains that here. github.com/volta-cli/volta/issues/...

Collapse
 
yw662 profile image
yw662

Actually I would prefer avoid Volta since it would introduce a private field in package.json which is not used and understandable by the rest of the world.

Thread Thread
 
bdougieyo profile image
Brian Douglas

Weird flex, but ok.

Thread Thread
 
yw662 profile image
yw662

Just imagine a better node version manager in the future. That new node version manager will have to support the Volta field even if it is not Volta.
Yet another weirdness like what we have been facing with :-).

Collapse
 
elzay profile image
El zay

Use asdf or brace yourselves for an nvm/volta/n for every single lang you deal with (nightmare)

Collapse
 
elzay profile image
El zay

will never use nor recommend a lang-specific version manager ever again

Collapse
 
brutalsimplicity profile image
Kory Taborn • Edited

Introducing, asdf, one version management tool to rule them all.

Welcome to the future.

Collapse
 
przemyslawjanbeigert profile image
Przemyslaw Jan Beigert

fnm > nvm :)

github.com/Schniz/fnm

Collapse
 
rikosintie profile image
Michael Hubbard

I am a network engineer that is starting down the DevOps path. This is what I did to get the M1 setup for NE and DevOps:

Apple MacBook Air M1 for Network Engineers Part 1

Collapse
 
irveloper profile image
Irving Caamal • Edited

Also there is asdf It's a nice tool if you work with multiple languages and versions :D

Collapse
 
thacken profile image
Chris Thackrey

Volta is intriguing, I see in the docs that it recognizes .npmrc files, but will it pick up .nvmrc files for certain legacy needs?

Collapse
 
geowrgetudor profile image
George Tudor

Volta seems cool. Thanks for sharing it