M1 Macの開発環境構築

スタッフブログ

はじめまして。ソフトウェアエンジニアの野村です。

入社して支給いただいたPCが、タイミングもあってかM1チップの MacBook Air でした。個人的にも買いたいなと思っていたところでしたので、わくわくしながら環境構築を行ったところを書いておこうと思います。

構築方針

個人的な構築方針としては、ソフトウェアの管理を Homebrew によせる形にしました。PCの移行とかで、必要なソフトのインストールに時間がかかったり、漏れとかもあったりするのでその辺りを Homebrew でサクッとできるようにするのが目的となります。

さしあたって直近で必要そうなものが下記となります。

  • Node.js
  • PostgreSQL
  • RabbitMQ
  • エディタ
    • VSCode
    • atom
  • Gitクライアント
    • SourceTree

Homebrew とは

homebrew

構築の前に、今回構築方針とした Homebrew について簡単に説明です。

Homebrew とは、 「パッケージ管理システム」の一つです。必要なパッケージのインストール、アンインストールなどをコマンドを実行するだけで簡単に行うことができます。
本来であれば、パッケージの公式サイトからファイルをダウンロードし、ファイルを解凍後インストーラに従ってインストールする。といった手順が必要となるのですが、Homebrew を使えばコマンド一行を実行するだけでインストールができてしまいます。Homebrew 便利ですね。

では、この Homebrew だけでどこまでできるのか。実際の構築手順を記述していきたいと思います。

Homebrew インストール

まずは!!というところで Homebrew のインストールを行います。
構築を行ったタイミングでは下記の手順で行いましたが、最新のものであれば公式サイトに記載されてるコマンドを実行するだけで、各PC環境に応じたインストールを行ってくれるようです。

$ cd /opt
$ mkdir homebrew
$ curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

# PATHを通すために下記を ~/.zshrc に追記
$ vi ~/.zshrc

export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH

$ source ~/.zshrc

今なら下記コマンド一発(公式サイト

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrew がインストールできれば、 brew コマンドが使えるようになります。この brew コマンドを使用しパッケージの管理が行えます。ざっと代表的な brew コマンドを紹介します。

# パッケージのインストール
$ brew install パッケージ名

# パッケージのアンインストール
$ brew uninstall パッケージ名

# インストール済みのパッケージ一覧の表示
$ brew list

# パッケージの検索
$ brew search パッケージ名

Node.js インストール

続いて Node.js の環境です。以前pythonのバージョン管理でpyenvを使って便利だったのでnodeでも同じようなことができるように nvm を使ってバージョン管理できるように構築しました。

# brew で nvm をインストール
$ brew install nvm

# ~/.zshrc に以下を追記
$ vi ~/.zshrc

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

$ source ~/.zshrc

# ls-remote でインストール可能なバージョンを調べて指定
$ nvm ls-remote
$ nvm i v15.7.0

# 各バージョンの確認
$ node -v
v15.7.0
$ npm -v
7.5.2

PostgreSQL インストール

この度 PostgreSQL の構築を初めて行いました。今までは専ら MySQL がメインでしたので、若干の不安はありましたが、brew がまるごと解決してくれました。

# postgresqlをインストール
$ brew install postgresql

# 上記インストール後、12系が必要とわかり下記追加インストール
# 本来であれば下記だけでよさそう
$ brew install postgresql@12

# brew services で常時起動するように
$ brew services start postgresql@12

# 念の為PATHは通しておく
$ vi ~/.zshrc

export PATH=/opt/homebrew/opt/postgresql@12/bin:$PATH

$ source ~/.zshrc

RabbitMQ インストール

RabbitMQ は「メッセージ・キューイング」を実現するソフトウェアとのこと。今まであまり経験がなかったのですが、実際に使ってみて なるほどな! と思っているところです。引き続きもう少し詳しく調べてみたいと思います。

# brew で rabbitmq をインストール
$ brew install rabbitmq

# PATHを通しておく
$ vi ~/.zshrc

export PATH=/opt/homebrew/Cellar/rabbitmq/3.8.13/sbin:$PATH

$ source ~/.zshrc

その他ソフトウェア インストール

前述している通り、brew で一通りのものをインストールします。
コマンドひとつで入るのは便利ですね。

# VSCode
brew install visual-studio-code

# atom
brew install atom

# sourcetree
brew install sourcetree

まとめ

とりあえずの環境は上記にて整いました。今までは python, Ruby, PHP などの完全にサーバーサイド寄りの開発をメインで行ってきましたが、こちらでは Typescript でフロントもバックエンドも!というのが主流のようです。未経験の分野での開発になるのですが、楽しみながら日々切磋琢磨していきたいと思います。