21
21

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 3 years have passed since last update.

bundle installしてもpermissionsエラーが起きるときの対処法

Last updated at Posted at 2020-02-03

#目的
iOSのアプリを複数人で開発するときにbundlerでCocoaPodsのバージョンを管理していると思います。

僕は普段個人でアプリ開発をやっていて複数人で開発するのは初めてなので、rbenvとbundlerをインストールしていたのですが、bundlerをインストールする際に以下のようなエラーが出て解決するのにだいぶ時間がかかってしまいました。

$ gem install bundler
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
$ bundler -v
Traceback (most recent call last):
	2: from /usr/bin/bundler:23:in `<main>'
	1: from /Library/Ruby/Site/2.6.0/rubygems.rb:303:in `activate_bin_path'
/Library/Ruby/Site/2.6.0/rubygems.rb:284:in `find_spec_for_exe': Could not find 'bundler' (2.0.2) required by your /Users/ユーザー名/フォルダ名/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.0.2`

とりあえず、このコマンド打てばきっと解決するよ〜ってのを残しておこうと思います!
もし似たようなエラーが出ている方がいたら参考にしてください!
(ターミナルあまり使わないからかなり焦った。笑)

HomeBrewやrbenvのインストールがまだの人はこちらを参考にしてください!
[MacにHomeBrew,rbenv,bundlerをインストールする]
(https://qiita.com/shinkuFencer/items/3679cfd966f6a61ccd1b)

#原因
このエラーの原因はrubyが指定しているパスが違うからのようです!
実際にパスを調べると

$ which ruby
/usr/bin/ruby

/usr/binの配下に出ると思います。

しかし、本当は/Users/ユーザー名/.rbenv/shimsの配下にいる必要があります。
なのでパスを指定することで解決します。

#解決方法
rbenvにパスを通す必要があるので設定ファイルの/.bash_profileにパスを指定する処理を書きます。

処理を書くときに/.bash_profileのviエディタを開いて

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

を書き加えるのですが、僕はviエディタの使い方がいまいち分かっていないので

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

ターミナル上に一つずつechoコマンドで書きました。
viエディタも使えるようにしたほうが良いと思いますが、ひとまずこれをコピペしてください!笑

次に以下のコマンドでシェルを再起動します。

$ exec $SHELL -l

これでrubyのパスを調べてみると

/Users/ユーザー名/.rbenv/shims/ruby

となっていると思うので、パスの指定は成功です!
あとは、以下のようにインストール、rebenvをリフレッシュをするだけです。

$ gem install bundler
$ rbenv rehash

以上でエラーは解決したので、CocoaPodsのインストールを行ってください!
インストールの仕方はこちらの記事を参考にしてください!
[bundler で cocoapods そのもののバージョン管理をする]
(https://qiita.com/shinkuFencer/items/821501cd0c5c460c1fea)

#参考にした記事
[rbenv+ruby-buildを使ってMacにRubyの環境を構築する]
(https://qiita.com/1000ch/items/a61e65fe82d8bdea840e)
[シェルを再起動させる簡単な方法]
(https://qiita.com/yusabana/items/c4de582c6f85a42817d8)

#さいごに
個人でアプリ開発していると自分だけがわかっていればいいから、と思って環境構築なんてあまり詳しくやってこなかったので躓いて解決するのにだいぶ時間がかかってしまいました。
もし同じところで困っている人の役に立てたら幸いです!
もし間違っているところなどありましたら教えていただけると嬉しいです!

21
21
1

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
21
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?