Macでの開発環境構築メモ

awsgcp

新しいMBPを買ったので開発環境の構築でやったことを残しておく

設定

  • アクセシビリティから3本指スクロールを有効にする
  • ホットコーナーの左上にLaunchPad、右上にデスクトップを割り当てている
  • 画面をなるべく広く使うためにDockは左に置いて自動的に隠す

bash_profile

パッケージマネージャ以外で持ってきたバイナリは ${HOME}/bin に置くことにする。

touch ~/.bash_profile
mkdir ${HOME}/bin
echo "export PATH=\$PATH:${HOME}/bin" >> ~/.bash_profile

HomeBrew & Cask

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew tap caskroom/cask

一般的なアプリケーション/コマンドのインストール

XcodeとUnityとLINEは手動で入れる。

brew cask install google-chrome kap visual-studio-code slack kindle
brew install jq gibo mysql wget

Git

git config --global user.name sambaiz
git config --global user.email [email protected]

Docker & K8s

brew cask install docker virtualbox minikube
brew install docker kubernetes-helm

fish

bash前提で書かれたスクリプトも多いので、デフォルトシェルにはしない。

brew install fish

tmux

~/.tmux.conf に設定を書く。

tmuxのメモ - sambaiz-net

brew install tmux
vi ~/.tmux.conf

Go

gvmでバージョン管理する。

gvmでGoのバージョン管理 - sambaiz-net

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ${HOME}/.gvm/scripts/gvm
gvm install go1.10 -B
echo "source \${HOME}/.gvm/scripts/gvm" >> ~/.bash_profile
echo "gvm use go1.10" >> ~/.bash_profile 
. ~/.bash_profile
go version

ghqでリポジトリを管理し、pecoでインクリメンタルサーチして移動したりできるようにする。ghqはデフォルトで ~/.ghq にcloneするが、GOPATHと合わせておくとディレクトリ構造が同じなのでGoのリポジトリをそのまま扱える。

go get github.com/motemen/ghq
brew install peco
echo "export GHQ_ROOT=\${GOPATH}/src" >> ~/.bash_profile
# ghq get [email protected]:sambaiz/puppeteer-lambda-starter-kit.git
# ghq look $(ghq list -p | peco)
echo 'alias ghql="echo \$(ghq list -p | peco)"' >> ~/.bash_profile
# cd `ghql`

Node.js

nでバージョン管理する。

Node.jsのバージョン管理 - sambaiz-net

brew install node yarn
npm install -g n
sudo n stable
node -v

Serverless frameworkも入れる。

Serverless FrameworkでLambdaをデプロイする - sambaiz-net

npm install -g serverless

Python3

gcloud等がPython2を要求してくるので、aliasは張らない。

brew install python3
python3 --version

pip (python2)

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
rm get-pip.py
pip --version

Java & Scala

brew cask install java
brew install scala sbt

AWS

pip install awscli --upgrade --user
aws configure --profile ${AWS_PROFILE}
echo "export AWS_DEFAULT_PROFILE=${AWS_PROFILE} >> ~/.bash_profile
echo "PATH=\$PATH:~/Library/Python/2.7/bin" >> ~/.bash_profile
. ~/.bash_profile
aws --version

GCP & kubectl

(
  cd ${HOME}/bin \
  && sudo wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-192.0.0-darwin-x86_64.tar.gz \
  && sudo tar -zxf google-cloud-sdk-192.0.0-darwin-x86_64.tar.gz \
  && sudo rm google-cloud-sdk-192.0.0-darwin-x86_64.tar.gz \
  && sudo ./google-cloud-sdk/install.sh \
  && sudo ./google-cloud-sdk/bin/gcloud init \
)
. ~/.bash_profile
gcloud --version
sudo gcloud components install kubectl
kubectl version

Protobuf

(
  mkdir /tmp/protoc \
  && cd /tmp/protoc \
  && wget https://github.com/google/protobuf/releases/download/v3.5.1/protoc-3.5.1-osx-x86_64.zip \
  && unzip protoc-3.5.1-osx-x86_64.zip \
  && sudo cp bin/protoc ${HOME}/bin \
  && rm -r /tmp/protoc
)
. ~/.bash_profile
protoc --version

Android

brew cask install android-studio

起動してSDKをインストールしてcliツールのパスを通す。

echo "export PATH=\$PATH:${HOME}/Library/Android/sdk/platform-tools" >> ~/.bash_profile
. ~/.bash_profile
adb --version

Key

GitHub等に登録する。

ssh-keygen -t rsa -b 4096
pbcopy < ~/.ssh/id_rsa.pub