10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

gem install bundler 時のエラー対処法(Mac)

Last updated at Posted at 2019-05-27

こんにちは, Rubyほぼ初心者の自分が環境構築を行ってる際にぶち当たったエラーに対する対処法をお伝えします.

今回の環境構築は次のような順番で行いました.今回エラーがでたのはこのうちの3の部分です.

環境構築手順

  1. rbenvのインストール
  2. rbenv経由でrubyをインストール
  3. bundlerをインストール

bundlerのインストールは次のコマンドで行います.

(base) ****-MacBook-air:~ user$ gem install bundler

ところがこの操作に対して次のようなエラーが出てきてしまいました.

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

You don't have write permissionswrite permissionというのは専門用語で書き込み許可という意味だそうです.
つまり書き込みの許可がいるみたいです.
つまり,この操作はuserの権限を越えたことをやろうとしている??
ここでgem,rubyのPATHを確認してみます.

(base) ****-MacBook-air:training user$ which gem
/usr/bin/gem
(base) ****-MacBook-air:training user$ which ruby
/usr/bin/ruby

usrディレクトリはuserディレクトリのさらに上の階層であり,userの権限ではアクセスできない部分です.したがって,今回は,userの身分でありながら,上の階層のディレクトリにアクセスしようととしたことが原因であったとわかりました.
そもそもこのような事が起きたのは, gem install bundler をした際に,rbenv側のrubyやgemではなく, システム側(usr/bin)のruby,gemを使ってることが原因でした.
なので以下のコマンドでPATHを設定し直します.

(base) ****-MacBook-air:training user$ export RBENV_ROOT="${HOME}/.rbenv"
(base) ****-MacBook-air:training user$ if [ -d "${RBENV_ROOT}" ]; then    export PATH="${RBENV_ROOT}/bin:${PATH}";    eval "$(rbenv init -)";  fi

完了したら,もう一度rubyとgemのPATHを確認します.

(base) ****-MacBook-air:training user$ which ruby
/Users/user/.rbenv/shims/ruby
(base) ****-MacBook-air:training user$ which gem
/Users/user/.rbenv/shims/gem

これで現在,rubyとgemはrbenvのものを参照してることがわかります.

このあと

(base) ****-MacBook-air:~ user$ gem install bundler

をもう一度試してみたところうまくいきました!

10
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?