macOS Catalinaで開発環境を整える
MacBookを壊した
MacBookを壊したので修理に出した。
そのため、macOSで開発環境を整え直します。
もうすぐmacOS Big Surが出てしまうので(記載日2020年11月6日)、Catalinaでの対応方法を記載しておきます。
2020年11月18日更新しました。
巻末にmacOS Big Surに関する記述を追記しました。
※Apple Silicon M1ではなく、Intel CPUでの動作確認です。
2021年2月以降から、gcc必須が増えてました。
そのため、node-build(4.9.29)とPython3.9からはgccが必須になり、その影響でXCode Command Line Tools(CLT)が必須になりました。
brewを使用する前にはXCode Command Line Tools(CLT)のインストールが必須です。
設定変更
- システム環境設定で以下を変更する。
- 英語キーボードなので、caps lockをControl keyに変更します。
- Dockで、最近使ったアプリケーションをDockに表示を無効にする。
- Spotlightのキーボードショートカットを無効にする。
- 使わないけどファインダーですべてのファイルを表示にしておく。(コマンドラインで以下を入力する)
- スクリーンショットの余白を消す。(コマンドラインで以下を入力する)
ファイル表示
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
余白除去
defaults write com.apple.screencapture disable-shadow -boolean true
killall SystemUIServer
brew
コマンドラインで何でもやるためにbrewを入れます。
Safariを起動・・・しないでいきます。
curl -sS https://brew.sh/index_ja | sed -e 's/<[^>]*>//g' | grep 'curl -fsSL' | sed -e 's/^[ \t]*//' | sed -e 's/^$ //' | bash
説明
brewのサイトから情報を取得して、sedでHTMLタグの抜いてインストールのところを引っ張りだして実行させてます。
Homebrew caskについて
GUIアプリをコマンドでインストールするものです。
インストールできるアプリはサイトにあるので必要なものをインストールしましょう。
https://formulae.brew.sh/cask/
とりあえず以下のものを、これらをコマンドラインからインストールします。
- Google IME
- Google Chrome
- Slack
- Zoom
- VS Code
- Docker
- iTerm2
- Intel Power Gadget
Google IME
再起動が必要なGoogle IMEを入れます。
brew install --cask google-japanese-ime
システム環境設定から設定を行ってから起動すると再起動を要求されるので再起動します。
なお、既存のIMEを削除するときは、Google IMEの英語入力を追加することを忘れずに行ってください。
Google Chrome
認証とかでブラウザが必要になるので、Google Chromeを入れます。
これでSafariを起動せずにChromeを入れることができます。
brew install --cask google-chrome
起動は以下のコマンドを実行します。
Google Accountなどにログインしておきます。
open /Applications/Google\ Chrome.app/
起動後はデフォルトブラウザをChromeに変更しておきます。
Slack
仕事のやり取りに必須なSlackもcaskにあるのでコマンドラインからインストールします。
ログイン時にブラウザが起動します。
brew install --cask slack
Zoom
Zoomもcaskにあるのでコマンドラインからインストールします。
zoomusなので注意!
2020年11月29日よりzoomusからzoomに変更されました。
ログイン時にブラウザが起動します。
brew install --cask zoom
zoomusでインストールしているときは、一度アンインストールしてください。
brew uninstall zoomus
brew install --cask zoom
VSCode
VSCodeもcaskにあるのでコマンドラインからインストールします。
brew install --cask visual-studio-code
設定ファイル
設定の同期というのがあるのですが、プレビュー機能らしく動かなくなることがあります。
そのため、設定ファイルをCloudに置いてあるので、curlでさっくと持ってきて、以下の場所に入れます。
~/Library/Application\ Support/Code/User/settings.json
Docker
brew install docker
brew install --cask docker
brew install docker-machine
iTerm2
brew install --cask iterm2
見やすい色に変更します。
Intel Power Gadget
brew install --cask intel-power-gadget
再起動してくれと言われたら再起動します。
tmux
ここからコマンドライン関連です。
brew install tmux
設定ファイルをCloudに置いてあるので、curlでさっくと持ってきて、以下の場所に入れます。
もしくは検索して入れます。
~/.tmux.conf
自動起動は以下のSolution 6を参照しました。
https://qiita.com/ssh0/items/a9956a74bff8254a606a
git
brew install git
初期設定は以下のようにしておきます。
Default brunchはmainにしておきます。
git config --global user.name "名前"
git config --global user.email メールアドレス
git config --global init.defaultBranch main
次にSSH Keyを作り、GitHubに登録します。
以下の2つを確認しながらやります。
新しい SSH キーを生成して ssh-agent に追加する
https://docs.github.com/ja/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
GitHub アカウントへの新しい SSH キーの追加
https://docs.github.com/ja/free-pro-team@latest/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account
個人的に入れたい
brew install wget
brew install gzip
brew install jq
brew install nkf
brew install unzip
brew install tree
インストール後~/.zshrcに以下の設定を入れる。
export PATH="/usr/local/opt/unzip/bin:$PATH"
アップデートして入れたい
brew install curl
brew install nano
brew install coreutils
brew install findutils
brew install gnu-sed
インストール後~/.zshrcに以下の設定を入れる。
export PATH="/usr/local/opt/curl/bin:$PATH"
export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
export PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"
export MANPATH="/usr/local/opt/findutils/libexec/gnuman:$MANPATH"
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
export MANPATH="/usr/local/opt/gnu-sed/libexec/gnuman:$MANPATH"
開発言語やデータベースで必要になるので入れる
brew install autoconf
brew install openssl
brew install readline
brew install sqlite
brew install automake
brew install libxml2
brew install mcrypt
brew install mhash
brew install pcre
brew install zlib
brew install bzip2
brew install libzip
brew install icu4c
brew install krb5
インストール後~/.zshrcに以下の設定を入れる。
export PATH="/usr/local/opt/sqlite/bin:$PATH"
export PATH="/usr/local/opt/libxml2/bin:$PATH"
export PATH="/usr/local/opt/bzip2/bin:$PATH"
export PATH="/usr/local/opt/icu4c/bin:$PATH"
export PATH="/usr/local/opt/icu4c/sbin:$PATH"
export PATH="/usr/local/opt/krb5/bin:$PATH"
export PATH="/usr/local/opt/krb5/sbin:$PATH"
export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
libxml2を入れると、brewがPython3を入れてしまうんだよな。
Pythonはpyenvで管理したいんだけどね・・・。
謎
brew install cowsay
brew tap fumiyas/echo-sd
brew install echo-sd
PostgresSQL
ここから開発言語やデータベースなどを入れていきます。
brew install postgresql
データベース起動は開発時に行うのでインストールだけします。
インストールしておかないと、PHPなどがインストール時にエラーが発生するので入れておきます。
13.0が入りました。
$ postgres --version
postgres (PostgreSQL) 13.0
MySQL
brew install mysql
8.0.22が入りました。
$ mysql --version
mysql Ver 8.0.22 for osx10.15 on x86_64 (Homebrew)
データベース起動は開発時に行うのでインストールだけします。
Python
2021年2月28日更新:brewで入るPython3.9がgccを要求して、gccはXcode Command Line Tool(CLT)を要求してくるので、この章では、この方法が使用できません。
pyenvを入れて最新バージョンを入れる。
(brew doctorでのWarningが出るが無視)
brew install pyenv
pyenv install --list | grep -v '[a-z]'
pyenv install 最新版
pyenv versions
tumxを起動しているとpyenvが切り替わらないので
~/.zshrcのtumx起動後にpyenv initを入れる。
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
参考
https://shunsuke.me/ja/tech/how-to-setup-dev-env-on-macos/#pyenv
フレームワークは適宜入れる。
Ruby
rbenvを入れて最新バージョンを入れる。
brew install rbenv
rbenv install --list
rbenv install 最新版
rbenv global 最新版
インストール後~/.zshrcに以下の設定を入れる。
eval "$(rbenv init -)"
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)"
フレームワークは適宜入れる。
PHP
事前にPHPが使用する物を入れておく。
先にpearを入れないとコンフィグレーションができないので下記を参考にpearを入れておく。
https://qiita.com/applexco/items/f10e87477dc5d41cf751
インストール後~/.zshrcに以下の設定を入れる。
export PATH="/Users/ユーザー名/pear/bin:$PATH"
以下を参考にしてPHPBrewを入れる。
https://github.com/phpbrew/phpbrew/blob/master/README.ja.md
Defaultのvariantsにデータベースなどを追加して入れます。
2020年11月1日現在openssl@1.1でした。
phpbrew install 最新版 +default +dbs +curl +openssl=/usr/local/Cellar/openssl@1.1/1.1.1h
インストールしたら有効にする。
phpbrew switch 最新版
フレームワークは適宜入れる。
Perl
perlbrewを入れて最新バージョンを入れる。
curl -L http://xrl.us/perlbrewinstall | bash
インストール後~/.zshrcに以下の設定を入れる。
source ~/perl5/perlbrew/etc/bashrc
最新版を入れる。
--notestを入れないと物凄く遅いです。
perlbrew init
perlbrew install-patchperl
perlbrew available
perlbrew install --notest perl-最新版
perlbrew switch perl-最新版
Node.js
2021年2月14日更新:brewで入るnode-build(4.9.29)がgccを要求して、gccはXcode Command Line Tool(CLT)を要求してくるので、この章では、この方法が使用できません。
nodenvで入れます。
brew install nodenv
nodenv init
インストール後~/.zshrcに以下の設定を入れる。
eval "$(nodenv init -)"
nodenv-yarn-installをインストールする。
mkdir -p "$(nodenv root)/plugins"
git clone https://github.com/pine/nodenv-yarn-install.git "$(nodenv root)/plugins/nodenv-yarn-install"
インストールしたいバージョンを確認します。(すごい量が出る)
nodenv install --list
最新版を入れます。
nodenv install 最新版
nodenv rehash
nodenv global 最新版
node-buildも自動的に入ります。
次に確認コマンドです。
OKが出れば良いです。
curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash
バージョン確認です。
node -v
yarn -v
npx -v
npm -v
終わりに
macOS Catalinaになってから、XcodeやXCode Command Line Tools(CLT)などを入れなくても、brewを入れることができるようになり、初期設定の時間が少しだけ短縮できるようになりました。
上のように記載しましたが、2021年2月以降から、gcc必須が増えてました。
そのため、node-build(4.9.29)とPython3.9からはgccが必須になり、その影響でXCode Command Line Tools(CLT)が必須になりました。
今後、macOS Big SurやApple Silicon Macになったとき、どんな感じで環境構築が変わるのだろうか?楽しみです。
macOS Big Sur
Docker
Version 2.5.0.1(49550)で問題なく動作しております。
Discussion