/osx-setup

Environment setup utilities for web development on the OS X platform

MIT LicenseMIT

OS X Setup

OS X development environment setup

A collection of tools, applications, and frameworks for developing tools, applications, and frameworks.

Setup

Apple

xcode-select --install
softwareupdate --install

Package Managers

Homebrew

Packages:

  • openssl
  • postgresql
  • mongodb
  • watchman
  • rbenv
  • jenv
  • go
  • readline
  • python@2
  • python@3
  • mas
  • --cask adoptopenjdk/openjdk/adoptopenjdk14
brew tap homebrew/cask-versions
brew update
brew tap homebrew/cask
brew tap mongodb/brew
brew tap adoptopenjdk/openjdk


brew install \
  openssl \
  nvm \
  postgresql \
  mongodb-community@4.4 \
  watchman \
  rbenv \
  jenv \
  go \
  readline \
  python \
  python@3

brew install --cask adoptopenjdk/openjdk/adoptopenjdk7
brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
brew install --cask adoptopenjdk/openjdk/adoptopenjdk14

npm

Global Packages:

  • yarn
  • exp
  • react-native-cli
  • http-server
  • dotenv
  • truffle

OS X Applications

Languages

Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
echo """
export PATH="$PATH:~/.cargo/bin"
"""
source ~/.zshrc
source ~/$HOME/.cargo/env

Ruby

brew install rbenv
rbenv init
rbenv install 2.5.1  # Latest stable version, 4-19-2018

Python

brew install openssl
brew install readline
brew install python  # Python2 is still a common legacy dependency, used in enterprise production apps, etc.
brew install python@3
# You may want to link /usr/local/bin/python3 to /usr/local/bin/python

Java SE

  • Also, via Homebrew
brew tap homebrew/cask-versions
brew update
brew tap homebrew/cask
brew install --cask adoptopenjdk/openjdk/adoptopenjdk14
  • Consider jenv for version management:
brew install jenv
# ... add versions, ex:
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/

Go

brew install go

SDKs

CLI Tools

Path

Link CLI tools

PATH="$PATH:/bin"
PATH="$PATH:/sbin"
PATH="$PATH:/usr/bin"
PATH="$PATH:/usr/sbin"
PATH="$PATH:/usr/local/bin"
PATH="$PATH:/usr/local/sbin"
PATH="$PATH:/usr/local/opt"

Applications

Node nvm

brew install nvm
mkdir ~/.nvm
echo """
export NVM_DIR="$HOME/.nvm"
  . "/usr/local/opt/nvm/nvm.sh"
""" >> ~/.zshrc

source ~/.zshrc

nvm install node
nvm install 'lts/*' --reinstall-packages-from=current

PostgreSQL

brew install postgresql

MongoDB

brew install mongodb

React Native

npm install -g react-native-cli
# Extras
brew install watchman
npm install exp --global

Android Studio

  • Consider adding the CLI tools to your path:
PATH="$PATH:~/Library/Android/sdk/tools"
PATH="$PATH:~/Library/Android/sdk/tools/bin"
  • Consider installing Android SDK Components and Platform Tools, Emulators (AVD Manager)

Orchestration

  • Kubernetes

kubectl

curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/darwin/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

minikube

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.25.2/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

helm

brew install kubernetes-helm

Blockchain

Ganache

Truffle JS

npm i -g truffle

web3.js

Credits