RubyMineのインストールと基本設定（MacOS）

# 概要

MacOSでRubyの開発を快適に行う環境構築をまとめた記事です。

[RubyMine](https://www.jetbrains.com/ja-jp/ruby/) を利用します。

# 対象読者

- MacOSを所持している方
- Linuxコマンドの基礎を理解しMacのターミナル操作が出来る方

# 前提条件

- [Homebrew](https://brew.sh/index_ja) がインストールされている
- 構築済のRubyプロジェクトがGitHub上などに存在する事

# 筆者の実行環境

MacOS Big Sur
CPU 2 GHz クアッドコアIntel Core i5
メモリ 32GB

# Rubyの実行環境をMac上に構築
MacではデフォルトでRubyがインストールされていますが、標準でインストールされているRubyをあまり触りたくないのでRubyの実行環境を構築します。

## anyenvをインストール

Rubyはマイナーバージョンアップでも互換性のないバージョンアップを行う事があります。

その為、複数のRubyバージョンをローカルで利用出来るようにしておくと便利です。

[rbenv](https://github.com/rbenv/rbenv) というツールが一番メジャーだと思います。

[rbenv](https://github.com/rbenv/rbenv) 単独で利用しても良いのですが、筆者は様々な言語で開発を行うので他の○○envも同時に利用出来る [anyenv](https://github.com/anyenv/anyenv) を利用してインストールを行います。

最初に brew update を実行してpackageを最新の状態にします。

以下のコマンドを実行します。

```
brew install anyenv
anyenv init
anyenv install --init
```

これで `anyenv` コマンドが実行出来るようになるハズですが、もしパスが通っていない場合は以下を参考にパスを通して下さい。

```
For bash:

$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
For Ubuntu Desktop:

$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bashrc
For Zsh:

$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.zshrc
For Fish shell:

$ set -Ux fish_user_paths $HOME/.anyenv/bin $fish_user_paths
```

## rbenvをインストール

`anyenv install rbenv` を実行します。

またこれは必要になってからでも良いですが、`rbenv` や `nodenv` などの○○env自体のアップデートを行う為に以下のように `anyenv-update` プラグインをインストールしておくと良いです。

```
mkdir -p $(anyenv root)/plugins
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
```

こうしておくと `anyenv update` で各○○envを最新状態に更新出来ます。

`exec $SHELL -l` を実行すると `rbenv` が実行可能になります。

## Rubyをインストール

`rbenv install -l` でインストール可能なバージョンを確認します。

ここに表示されているバージョンがインストール可能なバージョンになります。

もしも目的のバージョンが一覧にない場合は `anyenv update` で `rbenv` を最新化してみて下さい。

例えば `2.6.6` をインストールするには以下のように実行します。

```
rbenv install 2.6.6
```

`rbenv versions` を実行すると以下のようにインストール済のバージョンが全て確認出来ます。

```
* system
  2.6.6
```

## Rubyバージョンの切り替え

例えば `2.6.6` に切り替えるには `rbenv local 2.6.6` もしくは `rbenv global 2.6.6` を実行します。

名前から何となく想像出来ると思いますが `local` と `global` の違いは影響範囲です。

`global` は全対でそのバージョンを利用するように変更しますが `local` は実行したディレクトリ配下のみそのバージョンを利用するようになります。

バージョンが異なる複数のRubyプロジェクトを運用する場合は `local` を利用するのが良いでしょう。

`ruby -v` を実行して目的のバージョンに切り替わっていたら成功です。

```
# ruby -v の実行結果
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-darwin19]
```

# RubyMineのインストール

[公式サイト](https://www.jetbrains.com/ja-jp/ruby/) からダウンロードします。

インストーラーの指示に従ってインストールします。

特に難しいところはないので、詳細な手順は省略します。

# RubyMineの設定

## エディタの設定

好みもありますが、私が最低限行っておくべきだと思う設定を紹介します。

### Preferences → Editor → General

以下の設定にチェックを入れます。

- `Remove trailing blank lines at the end of saved files` 「行末の不要なスペースやタブを保存時に削除する」
- `Ensure every saved file ends with a line break` 「保存されたファイルの最後が改行で終わるようにする」

![RubyMine1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71899/f1b4f586-f812-34c2-9b36-90279b547cd4.png)

### Preferences Editor → General → Appearance

以下の設定にチェックを入れます。

- Show line number - ON「行番号の表示」
- Show method separators - ON「メソッドの区切り線」
- Show whitespaces - ON「空白の表示」

<img width="989" alt="Preferences EditorGeneralAppearance.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71899/35547927-3570-6c82-ad03-ae45e78be2ed.png">

なお設定後は `APPLY` をクリックしないと反映されないのでご注意下さい。

## RubyMineにRubyを認識させる

Languages & Freameworks Ruby SDK and Gems より設定を行います。

`rbenv local` を使っている場合、`.ruby-version` というファイルが生成されており、最初からRubyが認識されている状態になっています。

もし認識されていない場合は `which ruby` を実行して表示される絶対パスを `+` ボタンから追加して下さい。

<img width="993" alt="RubySDK.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/71899/5a090b48-5698-7532-226a-caec8372aef9.png">

`bundle install` を実行すればRubyMineのコード補完などが可能になります。

## おまけ目に優しいTheme（Solarized Theme）をインストールする

PCに向かう時間が長いとブルーライトで目に悪影響があるので、一番目に優しいと言われているカラーテーマであるSolarized Themeをインストールし設定します。

内容的には以前私が書いた [こちら](https://qiita.com/keitakn/items/26946ee021a43a933799#%E3%81%8A%E3%81%BE%E3%81%91%E7%9B%AE%E3%81%AB%E5%84%AA%E3%81%97%E3%81%84themesolarized-theme%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B) と同じですので参考にして頂ければと思います。

# おわり
Rubyの開発は久しぶりだったので記事にさせて頂きました。

かなり前にRuby開発を行った際は [IntelliJ IDEAのRubyPluginを使って開発環境を整える手順](https://qiita.com/keitakn/items/76d6707db7d23fe4ca85) を書きました。

[All Products Pack](https://qiita.com/fuku_tech/items/17d65344a36a08bafc69) のライセンスを購入したので、今回はRuby専用IDEであるRubyMineを使ってみました。

今後も開発を進めていく中で得た情報を記事にしていこうと思います。

以上になります。最後まで読んで頂きありがとうございました。