【mac issue】M1 MacBook Airの環境セットアップ(zsh/pyenv/python/Homebrew/docker/他ansibleでセットアップ)
- mac issue系
- 本記事で行うこと
- 環境
- まとめ
- Homebrewセットアップ
- gitセットアップ
- viscodeインストール (4/6追記)
- iTerm2インストール
- pyenv/python3.9インストール
- ansibleインストール
- ansible実行
- karabiner
- zsh
- docker m1 preview
- nvm/node.js
- golang/goenv
mac issue系
- 自分のメモようなので雑です。
本記事で行うこと
- M1 MacBook Airのセットアップを記録する
環境
- M1 Macbook Air
$ sw_vers ProductName: macOS ProductVersion: 11.1 BuildVersion: 20C69 $ uname -m arm64
まとめ
項目 | セットアップ方法 |
---|---|
Homebrew&git | Homebrewセットアップ |
gitセットアップ | gitセットアップ |
vscode m1 | viscodeインストール |
iTerm2 | iTerm2インストール |
pyenv/python3.9 | pyenv/python3.9インストール |
ansible | ansibleインストール |
ansible(chrome/firefox/その他諸々) | ansible実行 |
zsh | zsh |
docker | docker m1 preview |
node.js | nvm/node.jsインストール |
golang | golang install |
Homebrewセットアップ
公式ページ:https://brew.sh/index_ja.html - ※ちなみにgitも同時にインストールしてくれる
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" $ export PATH=$PATH:/opt/homebrew/bin:/opt/homebrew/sbin $ brew doctor Your system is ready to brew. $ vi ~/.zshrc
gitセットアップ
$ git --version git version 2.24.3 (Apple Git-128) $ git config --global user.name "{username}" $ git config --global user.email "{email}"
promptにgit表示させる git/contrib/completion at master · git/git · GitHub
$ mkdir ~/.zsh $ cd ~/.zsh $ curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.zsh $ curl -O https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh $ ls -l total 2952 -rw-r--r-- 1 haku-mai staff 1058991 1 31 16:05 git-completion.bash -rw-r--r-- 1 haku-mai staff 174722 1 31 15:55 git-completion.zsh -rw-r--r-- 1 haku-mai staff 271156 1 31 15:57 git-prompt.sh $ vi ~/.zshrc # Git fpath=(~/.zsh $fpath) if [ -f ${HOME}/.zsh/git-completion.zsh ]; then zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.zsh fi if [ -f ${HOME}/.zsh/git-prompt.sh ]; then source ${HOME}/.zsh/git-prompt.sh fi GIT_PS1_SHOWDIRTYSTATE=true GIT_PS1_SHOWUNTRACKEDFILES=true GIT_PS1_SHOWSTASHSTATE=true GIT_PS1_SHOWUPSTREAM=auto setopt PROMPT_SUBST ; PS1='[%n@ %c$(__git_ps1 " (%s)")]$ '
viscodeインストール (4/6追記)
vscodeはgithubのアカウントを連携していくことで設定が共有できる。
settings.jsonを今までgit管理していたが不要になり本当に楽になった。
Download Visual Studio Code - Mac, Linux, Windows
正式対応したのでUniversal版をインストール
codeコマンドを使いたいのでpath設定
iTerm2インストール
以下をダウンロード&インストール
Downloads - iTerm2 - Mac OS Terminal Replacement
pyenv/python3.9インストール
基本的にpythonプログラムを書くときはpyenvを利用します。
m1に対応しているのはpython3.9.1からになります。
Python Release Python 3.9.1 | Python.org
$ brew install pyenv # pyenv eval "$(pyenv init -)" $ pyenv install 3.9.1 $ pyenv global 3.9.1 $ pyenv versions system * 3.9.1 (set by /Users/haku-mai/.pyenv/version) $ vi ~/.zshrc # pyenv eval "$(pyenv init -)" export PATH=$HOME/.pyenv/shims:$PATH
ansibleインストール
※pyenv環境でansibleを使いたかったがpipインストールエラーとなる。
デバッグに時間がかかりそうなので、homebrewでインストールする。
homebrewでインストールできるansibleはarm版に対応していました。
$ brew install ansible $ ansible --version ansible 2.10.5 config file = None configured module search path = ['/Users/haku-mai/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /opt/homebrew/Cellar/ansible/2.10.6/libexec/lib/python3.9/site-packages/ansible executable location = /opt/homebrew/bin/ansible python version = 3.9.1 (default, Jan 8 2021, 12:11:08) [Clang 12.0.0 (clang-1200.0.32.28)]
ansible実行
GitHub - n-guitar/macbook-setup
$ git clone -b m1-macbook-air https://github.com/n-guitar/macbook-setup.git $ $ ansible-playbook -i inventory mac_setup.yml
karabiner
左右のコマンドキーで入力切り替え。
Karabiner-Elements
zsh
以下を利用。
macbook-setup/.zshrc at m1-macbook-air · n-guitar/macbook-setup · GitHub
$ vi ~/. zshrc # 補完機能 autoload -U compinit compinit # 色を利用 autoload -Uz colors colors # historyの重複削除 setopt histignorealldups HISTFILE=~/.zsh_history HISTSIZE=10000 SAVEHIST=10000 # よく使うAlias alias ll='ls -la' ## arm版vscodeがstableになるまで alias code='code-insiders' # homebrew export PATH=$PATH:/opt/homebrew/bin:/opt/homebrew/sbin # Git fpath=(~/.zsh $fpath) if [ -f ${HOME}/.zsh/git-completion.zsh ]; then zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.zsh fi if [ -f ${HOME}/.zsh/git-prompt.sh ]; then source ${HOME}/.zsh/git-prompt.sh fi GIT_PS1_SHOWDIRTYSTATE=true GIT_PS1_SHOWUNTRACKEDFILES=true GIT_PS1_SHOWSTASHSTATE=true GIT_PS1_SHOWUPSTREAM=auto setopt PROMPT_SUBST ; PS1='[%n@ %c$(__git_ps1 " (%s)")] $ ' # pyenv eval "$(pyenv init -)" export PATH=$HOME/.pyenv/shims:$PATH
2021/2/10追記 historyからコマンド補完
以下ツールを利用
https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md
$ git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
$ vi ~/. zshrc <中略> # history補完 source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
2021/3/2追記 nvm
# vnm export NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
2021/6/26追記 nvm
# node export PATH=$HOME/.nodebrew/current/bin:$PATH # kubectl [[ /usr/local/bin/kubectl ]] && source <(kubectl completion zsh) # goenv export GOENV_ROOT="$HOME/.goenv" export PATH="$GOENV_ROOT/bin:$PATH"
docker m1 preview
以下previewページからダウンロード
2021/2/6時点で、問題なく動作しますね。
www.docker.com
$ docker --version Docker version 20.10.1, build 831ebeae96 $ docker-compose --version docker-compose version 1.27.4, build 40524192
※docker-composeも同時にインストールされるようになったんですね。楽。
nvm/node.js
nvm
$ brew install nvm $ mkdir ~/.nvm
$ nvm --version 0.37.2
node.js
2021/3/2時点で以下を見ると正式サポートはしていないっぽい。
15.x上のソースからbuildしてつかえよって感じ。
Apple Silicon Support · Issue #37309 · nodejs/node · GitHub
LTSがないので、現時点の最新v15.10.0を入れる
$ nvm ls-remote |grep v15 v15.0.0 v15.0.1 v15.1.0 v15.2.0 v15.2.1 v15.3.0 v15.4.0 v15.5.0 v15.5.1 v15.6.0 v15.7.0 v15.8.0 v15.9.0 v15.10.0 # sourceからbuildする。10分程度かかる。 $ nvm install v15.10.0 ・・・ Now using node v15.10.0 (npm v7.5.3) Creating default alias: default -> v15.10.0 $ node --version v15.10.0
golang/goenv
公式手順 goenv/INSTALL.md at master · syndbg/goenv · GitHub
goenv install
$ git clone https://github.com/syndbg/goenv.git ~/.goenv
以下追記 $ vi ~/. zshrc
export GOENV_ROOT="$HOME/.goenv" export PATH="$GOENV_ROOT/bin:$PATH" eval "$(goenv init -)" export GOPATH="$HOME/go" export PATH="$GOROOT/bin:$PATH" export PATH="$PATH:$GOPATH/bin" $ exec $SHELL
golang install
1.16以上がM1対応。
$ goenv install --list $ goenv install 1.16.4 Downloading go1.16.4.darwin-arm64.tar.gz... -> https://golang.org/dl/go1.16.4.darwin-arm64.tar.gz Installing Go Darwin arm 1.16.4... Installed Go Darwin arm 1.16.4 to /Users/haku-mai/.goenv/versions/1.16.4 $ goenv local 1.16.4 $ go version go version go1.16.4 darwin/arm64
適時追加