Macの開発環境(zsh x anyenv)を初期構築する手順


概要

開発用に新しいMacをセットアップするためのメモ
転職などするとメモがなくて困るので

環境

Mac:MacBook Pro (Retina, 15-inch, Mid 2015)
OS:MacOS Mojave

セットアップするもの

  • キーボード設定
    • REALFORCE(日本語レイアウト)
  • パッケージ管理
    • HomeBrew
  • シェル
    • Zsh
      • プラグインマネージャにzgen
  • ターミナル
    • iTerm2
  • 言語
    • anyenvで統合的に管理
    • rbenv
    • phpenv

keymapのインストール

公式
Simple Modificationの項目で英数・かなの変換は設定できる

パッケージ管理

Homebrewのインストール

ターミナルで下記のコマンドを実行する

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

Zshのインストール

ターミナルで下記のコマンドを実行する

brew install zsh
echo `which zsh` | sudo tee -a /etc/shells
chsh -s `which zsh`

zshのパッケージマネージャをインストール

zgen GitHub
Zshプラグインをzgenでシンプルに管理する
Macで快適な作業環境を構築する(zsh編)

アンインストールしたければ、「~/.zgen」を削除するだけでOK
再構築は「zgen reset」

.zshrc(.zsh.zgenをインクルードする)
# include .zshrc.zgen
[[ -f $HOME/.zshrc.zgen ]] && source $HOME/.zshrc.zgen
.zshrc.zgen(zgenの設定)
if [[ -f "$HOME/.zgen/zgen.zsh" ]]; then
  # load zgen
  source "$HOME/.zgen/zgen.zsh"

  # if the init scipt doesn't exist
  if ! zgen saved; then

    # prezto options
    zgen prezto prompt theme 'pure'

    # prezto and module
    zgen prezto
    zgen prezto syntax-highlighting

    # plugins
    zgen load zsh-users/zsh-completions
    zgen load zsh-users/zsh-history-substring-search

    # generate the init script from plugins above
    zgen save
  fi
fi

プロンプトの色が見ずらかったら
zsh+Preztoのテーマ等をいじった話

ターミナル

iTerm2をインストール

iTerm2を利用
iTerm2のおすすめ設定〜ターミナル作業を効率化する〜

Terminalのテーマ変更

ターミナルが見やすくなる!シンプルなテーマ「Iceberg」の設定方法

言語

anyenvのインストール

brew install anyenv
echo 'eval "$(anyenv init -)"' >> ~/.zshrc
Terminalを再起動するとメッセージが出るので下記を実行
anyenv install --init

phpenvのインストール

anyenv install phpenv
exec $SHELL -l
phpenv -l
phpenv install -l(インストールできるバージョン一覧が表示される)
phpenv install 7.3.5
phpenv global 7.3.5(PC全体で使うバージョンを指定)

rbenvのインストール

anyenv install rbenv
exec $SHELL -l
rbenv install -l(インストールできるバージョン一覧が表示される)
rbenv install 2.6.1
rbenv global 2.6.1(PC全体で使うバージョンを指定)

bundle install時のデフォルト設定をする

Ruby: bundler のグローバル設定にデフォルト値を保存する
下記を実行することでカレントディレクトリ下にインストールするようになる

bundler config --global path vendor/bundle

railsのインストール

gem install rails -v 5.2.2.1

SSH

SSH Keyを作成

ssh-keygen -t rsa -C "コメント" -b 4096
  • 作成したファイルは管理しやすいように名前を変更して保存(実行時にきかれる)
  • 利用する環境により暗号化方式はかわるので注意

SSH の設定ファイルを作成

sshコマンドを実行する際に指定したホスト名にそって自動でオプションが入るように
~/.ssh/configについて

~/.ssh/config
Host 任意の接続名
HostName 接続先ホスト(ex:GitHubならgithub.com)
User ユーザ名(ex:GitHubなら登録したメールアドレス)
IdentityFile ssh-keygenで作成された秘密鍵のファイル名(ex: ~/.ssh/id_rsa)

Javaのインストール

下記のサイトにあるように
新元号対応のJava SE Development Kit 8u211から、ライセンスが変わり、無償利用は「開発・個人のみ」に変わっています!
2019年にJavaを利用している人は全員理解すべきことを説明してみる

MacにJava入れるには〜と調べて分かったことは

  • 無料で商用利用ができるものがすでにインストールされている(adoptopenjdk)
  • adoptopenjdkはIBMやMicrosoft Azureがスポンサーについてる提供ベンダーのもの

JDKの長期商用サポート(LTS)の提供ベンダー比較(無償利用についても言及あり)

もし違うバージョンのものがインストールしたくなったら
brew cask install adoptopenjdk(何も指定しないと最新)
brew cask install adoptopenjdk8(バージョンの指定も可能)

番外編

bundle install時にmysql2でこけたら

bundle install 時、mysql2でエラー

bundle config --local build.mysql2 "--with-cppflags=-I/usr/local/opt/openssl/include"

または

bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"

を実行してからbundle install

ただし、私の環境では下記でのみ成功した

bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"