MacBook Air 開発環境のセットアップ方法を紹介


吉岡です。今回は今年の春に MacBook Air 2020 を購入して、久しぶりに1から環境構築をしたのでメモがてらセットアップの手順を紹介したいと思います。

1. Ansibleでインストール

まずはHomebrewのインストールとansibleのインストールをします。その後、Ansibleを利用して必要なソフトをインストールします。

注)Ansibleの詳細については以下をご確認ください。
Ansible (Wikipedia)

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install ansible
$ git clone https://github.com/yoshiokaCB/ansible-mac-setup.git && cd ansible-mac-setup
$ ansible-playbook -i hosts setup.yml

インストールされるパッケージ(アプリ)は以下のようになります。ここの利用環境に合わせて、書き換えてからansibleを実行してください。

2. 手動で設定、インストール

以下、手動でインストールしたり、セットアップしたりする作業手順です。

zshの設定

oh-my-zshは重たいので、prezto を使うことにしました。

$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
$ vi ~/.zshrc
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

上記設定してターミナルを再起動

gitの設定

たとえばvimで起動時、文字コードutf-8を設定したい場合

git config --global user.name "First-name Family-name"
git config --global user.email "username@example.com"

# git config --global core.editor '使用したいエディタ名 "エディタのオプション"'
git config --global core.editor 'vim -c "set fenc=utf-8"'

anyenvの初期化

パッケージはansibleを利用してbrewでインストールしてあるので初期化コマンドを実行します。

$ anyenv init

anyenvの詳細は公式リポジトリーの README.md を参考にしてください。

以下、参考までにrbenvを利用したrubyのインストール方法です。

$ anyenv install rbenv
$ exec $SHELL -l
$ rbenv install 2.7.1

Vimの設定ファイル

なんだかんだと vim を使ってファイル編集をすることもあるので一応設定しておきます。

"#####表示設定#####

" setting

"ファイル名を表示
set title
"文字コード UFT-8
set fenc=utf-8
" バックアップファイルなし
set nobackup
" スワップファイルなし
set noswapfile

" 行番号
set number
" Current行(横)を強調表示
set cursorline
" Currentの行(縦)を強調表示
set cursorcolumn

" インデント
set smartindent

" 対応する括弧を表示
set showmatch
" ステータスラインを表示
set laststatus=2
" 補完
set wildmode=list:longest
" シンタックスハイライト有効化
syntax enable

" Tab系
" 不可視文字を可視化(タブが「▸-」と表示される)
set list listchars=tab:\▸\-
" Tab文字を半角スペースにする
set expandtab
" 行頭以外のTab文字の表示幅(スペースいくつ分)
set tabstop=2
" 行頭でのTab文字の表示幅
set shiftwidth=2

" 検索時に最後まで行ったら最初に戻る
set wrapscan
" 検索語をハイライト表示
set hlsearch

その他

Homebrewでインストールできなかったアプリ、ライブラリーを手動でインストールします。

3. エディタについて

基本的に開発は AWS Cloud9 を利用しているため、ローカルではあまりこだわって構築はしていません。一応、ローカルでは RubyMine を使ったり、Visual Studio Code を使っていますが、せいぜいキーバインドをvimに変換するプラグインを入れるくらいです。

ただし、最近、一周回ってローカルで環境作ろうかなーと考え始めていますので、また機会が会ったらご紹介したいと思います。

4. まとめ

基本的にはほとんどのデータをクラウド上(Cloud9, GoogleDrive, リポジトリサービスなど)に置いてあるので、以前のように数時間かけてデータ移行という作業は発生しませんでした。また、利用するパッケージもansibleを利用することでほとんど自動化したので、こちらもコマンドを実行してあとは放置です。自動化の技術やクラウドサービスを上手に活用すると、セットアップの時間節約になって非常に便利ですね!

以上、簡単でしたがMacのセットアップ方法の紹介をさせていただきました。


My Redmine

こちらの記事もオススメです!
クラウドベースの統合開発環境「AWS Cloud9」超便利ッス。
AWS Cloud9は、いつでもどこでも同じ環境が使えて、共同開発にも向いています。
夏休みの宿題に、Redmine(こどもれっどまいん)で楽しく取り組む試み
テーマ「こどもれっどまいん」や「チケットパネル」を使って子どもの夏休みの宿題の進み具合を一緒に確認しました。
AWS(アマゾン ウェブ サービス)の初心者が実際に使って感じたこと
AWS Lambda と AWS Step Functions を当社検証環境で使用してみました。
TwitterやPodcastから効率よくセキュリティ情報を収集するのだ!
セキュリティに関する新しい情報を収集し、教育や改善など社内の活動に繋げています。
ファーエンドテクノロジーはRedmineにどう関係しているのか
ファーエンドテクノロジーとRedmineの関係が気になる人が多そうなので紹介します。
ファーエンドテクノロジーからのお知らせ(2020/09/09更新)
オンラインイベント「Redmine Japan 2020」(9/18開催)への登壇および出展のお知らせ
2020年9月18日(金)にオンラインで初開催される「Redmine Japan 2020」に弊社の前田と吉岡が登壇します。
Redmineへのアクセスを制限する「IPアドレスフィルター」をオープンソースのプラグインとして公開
ファーエンドテクノロジーは、Redmine用プラグイン「IPアドレスフィルター」をオープンソースソフトウェアとして公開しました。
Redmineのクラウド版『My Redmine』の独自機能「チケットパネル」をオープンソースのプラグインとして公開
オープンソースのプロジェクト管理ソフトウェア「Redmine」のクラウドサービス「My Redmine」の独自機能として開発した「 チケットパネル」をオープンソース化・無償公開しました。
「テレワーク7割」支援 プロジェクト管理「My Redmine」を無料提供 10月末まで
政府による「テレワーク7割」要請への対応を支援。2020年8月中に「My Redmine」の無料お試しにお申し込みのお客様を対象に、10月末まで無料提供します。
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け