5
0

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時のエラー Errno::EACCES: Permission denied @ dir_s_mkdir -

Last updated at Posted at 2021-01-08

#はじめに
環境構築系のエラーは原因が掴みにくい上に、誤って設定を変更してしまったら、迷宮入りしてしまいそうでヒヤヒヤします。
本記事では、bundle installしようとした時に発生したエラーの解決プロセスです。

ただし、エラーはエラーに至るまでの、経緯や環境によって様々です。本記事も参考程度にしてください。

#エラー

Errno::EACCES: Permission denied @ dir_s_mkdir -

特に、このエラーの解決方法は状況によって様々だと思いますが、私の場合は「権限」の設定が問題でした。

#結論
以下のコマンドで権限の変更をする事で解決する事ができました。

sudo chown -R [ユーザー名] /Users/[ユーザー名]/.rbenv  
Password: (パスワードを入力)

#環境
macOS Catalina バージョン 10.15.7
Homebrew 2.7.1
rbenv 1.1.2
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
gem 3.2.4
Bundler version 2.1.4

#エラーの詳細

bundle installをすると以下のエラーが発生しました。

Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/[ユーザー名]/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/bindex-0.8.1
An error occurred while installing bindex (0.8.1), and Bundler cannot
continue.
Make sure that `gem install bindex -v '0.8.1' --source 'https://rubygems.org/'`
succeeds before bundling.

以下の2つに注目しました。

Errno::EACCES: Permission denied @ dir_s_mkdir - /Users/[ユーザー名]/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/bindex-0.8.1

ファイルのアクセスが拒否されたました。

Make sure that gem install bindex -v '0.8.1'

gem bindex を確認して欲しい。

調べると、このファイルにアクセスする権限がない事が原因らしく、結論、対応策は以下の二つありました。
1、sodu コマンドで強制的にする。
2、権限の設定を変更する。

どうやら権限の設定がrootに変更されているらしく、これを[ユーザー名]に変更しなければならないようでした。
権限を変えた事はなかったのですが、sudoコマンドを使った時などでも設定が変わるそうです。

今後のことも考え権限の設定を変更する事にしました。

#行ったこと
先ず、権限がどうなってるか調べました。
ls -alコマンで調べる事ができますが、その後にファイル名を記述する事で、指定のファイルの状況がわかります。

Make sure that gem install bindex -v '0.8.1'といわれてたので、周辺のファイルを調べてみました。

ls -al /Users/[ユーザー名]/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/           
total 0
drwxr-xr-x  6 root  staff  192 Dec 30 07:24 .
drwxr-xr-x  3 root  staff   96 Dec 29 16:31 ..
drwxr-xr-x  5 root  staff  160 Dec 30 07:24 bcrypt-3.1.16
drwxr-xr-x  6 root  staff  192 Dec 29 16:32 nio4r-2.5.4
drwxr-xr-x  6 root  staff  192 Dec 29 16:32 nokogiri-1.10.10
drwxr-xr-x  5 root  staff  160 Dec 29 16:32 websocket-driver-0.7.3

確かにrootになってる。

以下のコマンドで権限を変更できます。
私は.rbenvを使用してるので、その配下を丸ごと変更する事にしました。

sudo chown -R [ユーザー名] /Users/[ユーザー名]/.rbenv  
Password: (パスワードを入力)

ls -alコマンドで確認します。

ls -al /Users/[ユーザー名]/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/
total 0
drwxr-xr-x  6 [ユーザー名]  staff  192 Dec 30 07:24 .
drwxr-xr-x  3 [ユーザー名]  staff   96 Dec 29 16:31 ..
drwxr-xr-x  5 [ユーザー名]  staff  160 Dec 30 07:24 bcrypt-3.1.16
drwxr-xr-x  6 [ユーザー名]  staff  192 Dec 29 16:32 nio4r-2.5.4
drwxr-xr-x  6 [ユーザー名]  staff  192 Dec 29 16:32 nokogiri-1.10.10
drwxr-xr-x  5 [ユーザー名]  staff  160 Dec 29 16:32 websocket-driver-0.7.3

変更されてました。

bundle installをします。

bundle install

The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/............
.
.
.〜省略〜
.
.
Bundle complete! 26 Gemfile dependencies, 92 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

いつもの読み込みが始まり無事解決しました!!

#最後に
同じ様にエラーで悩んでる方々の助けになれば幸いです。

#参考

5
0
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
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?