WebDesigner's Memorandumウェブデザイナーの備忘録

MacのRubyをrbenvで管理する方法

MacのRubyをrbenvで管理する方法

MacにはデフォルトでRubyがインストールされていますが、それを使用して何かインストールしようとすると、「You don’t have write permissions for the /usr/bin directory.(書き込み権限がありません)」というエラーが表示されることがあります。

Fetching: sass-3.7.4.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.

このエラーを解消するためには、システムにデフォルトで入っているRubyを使うのではなく、rbenvを使ってRubyを管理・使用するようにします。

rbenvはRubyのバージョンを管理してくれる

rbenv( アールビー・エンブ )を使うと、Rubyのバージョン管理が非常にラクになります。
Node.jsで言うところのnodebrewみたいな役割ですね。

先ほどから何度も言っている通り、macOSにもデフォルトでRubyが入っているのですが、どうしても古いバージョンのRubyのままになってしまいます。

rbenvを使うと、簡単に指定のバージョンにRubyを変更できます。

また、Rubyのインストール先が/usr/binからホームディレクトリの/.rbenv/shims/ruby内に変わり、権限の問題が解消されるため、冒頭で説明したエラーも表示されなくなります。

ちなみに、読み方に関しては「アールビー・エンブ」または「アールベンブ」だそうです。

rbenvのインストール方法

rbenvのインストール手順は下記の通りです。

  1. Homebrewでrbenvをインストール
  2. シェルの設定ファイルにコードを追加(パスを通す)
  3. rbenvでRubyをインストール

Homebrewでrbenvをインストール

まずはHomebrewを使ってrbenvをインストールします。
Homebrewをまだインストールしていない方は、過去記事にまとめているので、インストールをして下さい。

Homebrewがインストール済みの場合は、下記コマンドを実行すると、rbenvをインストールできます。

$ brew install rbenv ruby-build

シェルの設定ファイルにコードを追加

rbenvをインストールしたら、シェルの設定ファイル(.bash_profile.zshrc)に下記のコードを入力します。

### rbenv
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"

入力して保存したら、ターミナルを一度再起動します。
これで、パスが通せたはずなので、rbenvがちゃんと使えるようになったはずです。

下記コマンドを実行して、rbenvのバージョンが返ってくれば、ちゃんとインストールされています。

$ rbenv -v

rbenvでRubyをインストール

まず、下記コマンドでインストールできるRubyのバージョン一覧を表示させます。

$ rbenv install -l

表示されたバージョンの中から、インストールしたいバージョンをrbenv installでインストールします。

$ rbenv install 2.5.1

インストールしただけではまだ使用状態にはなっていないので、インストールしたRubyの中から使用するRubyを選択する必要があります。

方法はrbenv globalでバージョンを指定するだけです。

$ rbenv global 2.5.1

ちなみにglobalだと、PC全体で使用するRubyを指定になります。

特定ディレクトリに移動して、localで指定すると、指定したディレクトリ配下でのみ使用するRubyを指定できます。

最後に下記コマンドを実行すると、インストールしたRuby一覧が表示され、使用中のバージョンには*(アスタリスク)が付きます。

$ rbenv versions

rbenv versions

これで、「You don’t have write permissions for the /usr/bin directory.」のエラーは出てこなくなるはずです。

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね