【Rails】mysqlオプションを付けた新たなアプリケーション作成時のエラー対処(Mac)

//////////////////////////////////////////

MacOS Mojave ver.10.14.6
Ruby 2.5.3p105
Rails 6.0.0

//////////////////////////////////////////
<h1>はじめに</h1>

railsプロジェクト作成の際に、
railsインストールしてrails newをしたところエラーが発生しました。
苦戦したため、備忘のため記録残します。
※悪戦苦闘しながら急ぎ作成したため少し伝わりにくいところもあるかと思います。
 時間のあるときに修正を加えていきたいと思います。

<h1>対処方法（要約）</h1>
今回の経験とネット情報をまとめますと、以下の対処が良いかと思います。
試してみてください。

**・権限付加を問われたら**

```
$ sudo chown -R [ユーザ名]:staff /Users/[ユーザ名]/.rbenv
```

**・ERROR:  Error installing mysql2 みたいなのが出たら**

```
$  bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include"
```

**※それでもダメなら、再インストール**


<h1>起こったこと(長いです)</h1>

「blog」という名前のファイルをmysqlオプション付きで作成するため、以下のコマンドを実行

```
$ rails _6.0.0_ new blog -d mysql
```

すると、以下のような表示がされました

```
      create  
      create  README.md
      create  Rakefile
      create  .ruby-version
      create  config.ru
      create  .gitignore
      create  Gemfile
         run  git init from "."
Initialized empty Git repository in /Users/xxx/projects/blog/.git/
      create  package.json
      create  app
      create  app/assets/config/manifest.js
      create  app/assets/stylesheets/application.css
      create  app/channels/application_cable/channel.rb
      create  app/channels/application_cable/connection.rb
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  app/javascript/channels/consumer.js
      create  app/javascript/channels/index.js
      create  app/javascript/packs/application.js
      create  app/jobs/application_job.rb
      create  app/mailers/application_mailer.rb
      create  app/models/application_record.rb
      create  app/views/layouts/application.html.erb
      create  app/views/layouts/mailer.html.erb
      create  app/views/layouts/mailer.text.erb
      create  app/assets/images/.keep
      create  app/controllers/concerns/.keep
      create  app/models/concerns/.keep
      create  bin
      create  bin/rails
      create  bin/rake
      create  bin/setup
      create  bin/yarn
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/cable.yml
      create  config/puma.rb
      create  config/spring.rb
      create  config/storage.yml
      create  config/environments
      create  config/environments/development.rb
      create  config/environments/production.rb
      create  config/environments/test.rb
      create  config/initializers
      create  config/initializers/application_controller_renderer.rb
      create  config/initializers/assets.rb
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/content_security_policy.rb
      create  config/initializers/cookies_serializer.rb
      create  config/initializers/cors.rb
      create  config/initializers/filter_parameter_logging.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/new_framework_defaults_6_0.rb
      create  config/initializers/wrap_parameters.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/master.key
      append  .gitignore
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  lib
      create  lib/tasks
      create  lib/tasks/.keep
      create  lib/assets
      create  lib/assets/.keep
      create  log
      create  log/.keep
      create  public
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/apple-touch-icon-precomposed.png
      create  public/apple-touch-icon.png
      create  public/favicon.ico
      create  public/robots.txt
      create  tmp
      create  tmp/.keep
      create  tmp/cache
      create  tmp/cache/assets
      create  vendor
      create  vendor/.keep
      create  test/fixtures
      create  test/fixtures/.keep
      create  test/fixtures/files
      create  test/fixtures/files/.keep
      create  test/controllers
      create  test/controllers/.keep
      create  test/mailers
      create  test/mailers/.keep
      create  test/models
      create  test/models/.keep
      create  test/helpers
      create  test/helpers/.keep
      create  test/integration
      create  test/integration/.keep
      create  test/channels/application_cable/connection_test.rb
      create  test/test_helper.rb
      create  test/system
      create  test/system/.keep
      create  test/application_system_test_case.rb
      create  storage
      create  storage/.keep
      create  tmp/storage
      create  tmp/storage/.keep
      remove  config/initializers/cors.rb
      remove  config/initializers/new_framework_defaults_6_0.rb
         run  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/............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using rake 13.0.0
Using concurrent-ruby 1.1.5
Using i18n 1.7.0
Using minitest 5.12.2
Using thread_safe 0.3.6
Using tzinfo 1.2.5
Using zeitwerk 2.2.0
Using activesupport 6.0.0
Using builder 3.2.3
Using erubi 1.9.0
Using mini_portile2 2.4.0
Using nokogiri 1.10.4
Using rails-dom-testing 2.0.3
Using crass 1.0.5
Using loofah 2.3.1
Using rails-html-sanitizer 1.3.0
Using actionview 6.0.0
Using rack 2.0.7
Using rack-test 1.1.0
Using actionpack 6.0.0
Using nio4r 2.5.2
Using websocket-extensions 0.1.4
Using websocket-driver 0.7.1
Using actioncable 6.0.0
Using globalid 0.4.2
Using activejob 6.0.0
Using activemodel 6.0.0
Using activerecord 6.0.0
Using mimemagic 0.3.3
Using marcel 0.3.3
Using activestorage 6.0.0
Using mini_mime 1.0.2
Using mail 2.7.1
Using actionmailbox 6.0.0
Using actionmailer 6.0.0
Using actiontext 6.0.0
Using public_suffix 4.0.1
Using addressable 2.7.0
Fetching bindex 0.8.1
Installing bindex 0.8.1 with native extensions
Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/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.

In Gemfile:
  web-console was resolved to 4.0.1, which depends on
    bindex
         run  bundle binstubs bundler
Could not find gem 'mysql2 (>= 0.4.4)' in any of the gem sources listed in your
Gemfile.
         run  bundle exec spring binstub --all
bundler: command not found: spring
Install missing gem executables with `bundle install`
       rails  webpacker:install
Could not find gem 'mysql2 (>= 0.4.4)' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.
```
エラー部分から和訳すると

```
ネイティブ拡張を使用したbindex 0.8.1のインストール
Errno :: EACCES：許可が拒否されました

bindex（0.8.1）およびBundlerのインストール中にエラーが発生したため続行できません。

bundle installする前に`gem install bindex -v '0.8.1' --source 'https://rubygems.org/'`がうまくいくか確認してください。

Gemfile：
web-consoleは4.0.1に解決されました。

bindex
bundlerで一連のGemのBinstubのインストールを実行します。
Gemfileにリストされているgemソースのいずれにもgem 'mysql2（> = 0.4.4）'が見つかりませんでした。

bundle exec spring binstub --allを実行します
Bundler：springのコマンドが見つかりません

`bundle install`で見つからないgem実行可能ファイルをインストールします
rails webpacker：install
Gemfileにリストされているgemソースのいずれにもgem 'mysql2（> = 0.4.4）'が見つかりませんでした。

`bundle install`を実行して、欠落しているgemをインストールします。
```
と言った感じです。
※間違ってたらご指摘ください。

まずは、最初の指示通り

```
$  gem install bindex -v '0.8.1'
```
を実施。
すると、

```
Building native extensions. This could take a while...
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ dir_s_mkdir - /Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/bindex-0.8.1
```
まさかのエラー。。。
和訳すると

```
ネイティブ拡張の構築。 これにはしばらく時間がかかる可能性があります...
エラー：gemの実行中...（Errno :: EACCES）
     許可が拒否されました@ dir_s_mkdir-/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/bindex-0.8.1v
```
なぜ、許可されない。。。
権限の問題か？
ということで、root権限でコマンドを実行することに

```
$  sudo gem install bindex -v '0.8.1'

```
すると
「Password:」とパスワードを要求されるので」、
自分のパソコンのパスワードを入力

すると

```
Building native extensions. This could take a while...
Successfully installed bindex-0.8.1
Parsing documentation for bindex-0.8.1
Installing ri documentation for bindex-0.8.1
Done installing documentation for bindex after 0 seconds
1 gem installed
```
が表示！！
お、お？！　激しく動揺

手が震えてタイピングが、、、
Google先生、和訳をお願いします！！

command + C
command + V

```
ネイティブ拡張の構築。 これにはしばらく時間がかかる可能性があります...
bindex-0.8.1が正常にインストールされました
bindex-0.8.1の解析ドキュメント
bindex-0.8.1のRIドキュメントのインストール
0秒後にbindexのドキュメントのインストールを完了しました
1つのgemがインストールされました
```
インストール成功！！

さっそく、確認！！

```
$ cd blog  (blogはファイル名です)
$ bundle install
```
どうだ！

```
Fetching msgpack 1.3.1
Installing msgpack 1.3.1 with native extensions
Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/msgpack-1.3.1
An error occurred while installing msgpack (1.3.1), and Bundler
cannot continue.
Make sure that `gem install msgpack -v '1.3.1' --source 'https://rubygems.org/'`
succeeds before bundling.

In Gemfile:
  bootsnap was resolved to 1.4.5, which depends on
    msgpack
```
なんと、別のエラー。。。

が、しかし
指示通り実行するだけだ！

```
$  sudo gem install msgpack -v '1.3.1'
```
※またしても許可されなかったため、root権限で実行してます

```
Building native extensions. This could take a while...
Successfully installed msgpack-1.3.1
Parsing documentation for msgpack-1.3.1
Installing ri documentation for msgpack-1.3.1
Done installing documentation for msgpack after 0 seconds
1 gem installed
```
OK!
さっそく、確認！！

```
$ bundle install
```
```
Fetching bootsnap 1.4.5
Installing bootsnap 1.4.5 with native extensions
Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/bootsnap-1.4.5
An error occurred while installing bootsnap (1.4.5), and Bundler
cannot continue.
Make sure that `gem install bootsnap -v '1.4.5' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  bootsnap
```
はい次！

```
$ sudo gem install bootsnap -v '1.4.5'
```
```
Building native extensions. This could take a while...
Successfully installed bootsnap-1.4.5
Parsing documentation for bootsnap-1.4.5
Installing ri documentation for bootsnap-1.4.5
Done installing documentation for bootsnap after 0 seconds
1 gem installed
```
はい確認！！

```
$ bundle install
```
```
Fetching byebug 11.0.1
Installing byebug 11.0.1 with native extensions
Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/byebug-11.0.1
An error occurred while installing byebug (11.0.1), and Bundler
cannot continue.
Make sure that `gem install byebug -v '11.0.1' --source 'https://rubygems.org/'`
succeeds before bundling.

In Gemfile:
  byebug
```
はい次！

```
$ sudo gem install byebug -v '11.0.1'
```
```
Building native extensions. This could take a while...
Successfully installed byebug-11.0.1
Parsing documentation for byebug-11.0.1
Installing ri documentation for byebug-11.0.1
Done installing documentation for byebug after 12 seconds
1 gem installed
```
はい確認！！

```
$ bundle install
```
```
Fetching ffi 1.11.1
Installing ffi 1.11.1 with native extensions
Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/ffi-1.11.1
An error occurred while installing ffi (1.11.1), and Bundler cannot
continue.
Make sure that `gem install ffi -v '1.11.1' --source 'https://rubygems.org/'`
succeeds before bundling.

In Gemfile:
  spring-watcher-listen was resolved to 2.0.1, which depends on
    listen was resolved to 3.1.5, which depends on
      rb-inotify was resolved to 0.10.0, which depends on
        ffi
```
はい次！

```
$ sudo gem install ffi -v '1.11.1'
```
```
Building native extensions. This could take a while...
Successfully installed ffi-1.11.1
Parsing documentation for ffi-1.11.1
Installing ri documentation for ffi-1.11.1
Done installing documentation for ffi after 19 seconds
1 gem installed
```
はい確認！！

```
$ bundle install
```
```
Fetching mysql2 0.5.2
Installing mysql2 0.5.2 with native extensions
Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/mysql2-0.5.2
An error occurred while installing mysql2 (0.5.2), and Bundler
cannot continue.
Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'`
succeeds before bundling.

In Gemfile:
  mysql2
```

はい次！

```
$ sudo gem install mysql2 -v '0.5.2'
```
```
Building native extensions. This could take a while...
ERROR:  Error installing mysql2:
	ERROR: Failed to build gem native extension.

    current directory: /Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/ext/mysql2
/Users/xxx/.rbenv/versions/2.5.3/bin/ruby -I /Users/xxx/.rbenv/versions/2.5.3/lib/ruby/site_ruby/2.5.0 -r ./siteconf20191024-7974-ialg44.rb extconf.rb
checking for rb_absint_size()... yes
checking for rb_absint_singlebit_p()... yes
checking for rb_wait_for_single_fd()... yes
-----
Using mysql_config at /usr/local/opt/mysql@5.6/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for SSL_MODE_DISABLED in mysql.h... no
checking for MYSQL_OPT_SSL_ENFORCE in mysql.h... no
checking for MYSQL.net.vio in mysql.h... yes
checking for MYSQL.net.pvio in mysql.h... no
checking for MYSQL_ENABLE_CLEARTEXT_PLUGIN in mysql.h... yes
checking for SERVER_QUERY_NO_GOOD_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_NO_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_WAS_SLOW in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_ON in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_OFF in mysql.h... yes
checking for my_bool in mysql.h... yes
-----
Don't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load
-----
-----
Setting libpath to /usr/local/opt/mysql@5.6/lib
-----
creating Makefile

current directory: /Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/ext/mysql2
make "DESTDIR=" clean

current directory: /Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/ext/mysql2
make "DESTDIR="
compiling client.c
compiling infile.c
compiling mysql2_ext.c
compiling result.c
compiling statement.c
linking shared-object mysql2/mysql2.bundle
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mysql2.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2 for inspection.
Results logged to /Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/mysql2-0.5.2/gem_make.out
```
またエラー；
ひとまず順に和訳する。

```
ネイティブ拡張の構築。 これにはしばらく時間がかかる可能性があります...
エラー：mysql2のインストールエラー：
     エラー：gemネイティブ拡張のビルドに失敗しました。
~
-----
/usr/local/opt/mysql@5.6/bin/mysql_configでmysql_configを使用する
-----
~
-----
MySQLライブラリがパスされずmysql2がロードされませんない場合、システムにrpathを設定する方法がわからない
-----
-----
libpathを/usr/local/opt/mysql@5.6/libに設定する
-----
Makefileの作成

現在のディレクトリ：/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/ext/mysql2
「DESTDIR =」をクリーンにする

~

clang：エラー：リンカコマンドが終了コード1で失敗しました（呼び出しを確認するには-vを使用してください）

make：*** [mysql2.bundle]エラー1

失敗、終了コード2

Gemファイルは、検査のために
/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2
にインストールされたままになります。

結果のログ
/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/mysql2-0.5.2/gem_make.out

```
とりあえずわかるのは
mysql2で何かしらのエラー

これ、StackOverFlowにて対策が投稿されていたので、参照してみる
https://stackoverflow.com/questions/30834421/error-when-trying-to-install-app-with-mysql2-gem

```
For anybody still experiencing the issue:

When you install openssl via brew, you should get the following message:

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your own software and it requires this formula, you'll need to add to your build variables:

LDFLAGS: -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig

You can set these build flags (for the local application) by running the following:



bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include"
```
和訳すると

```
まだ問題が発生している場合：

brew経由でopensslをインストールすると、次のメッセージが表示されます。

Appleは、独自のTLSおよび暗号ライブラリを支持して、OpenSSLの使用を廃止しました

通常、これによる影響はありません。 
独自のソフトウェアをビルドし、この式が必要な場合は、ビルド変数に追加する必要があります。

LDFLAGS：-L / usr / local / opt / openssl / lib
CPPFLAGS：-I / usr / local / opt / openssl / include
PKG_CONFIG_PATH：/ usr / local / opt / openssl / lib / pkgconfig

以下を実行して、これらのビルドフラグを設定できます（ローカルアプリケーション用）。

bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include"
```
ということで、以下を実行！！

```
$  bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include"
```
```
You are replacing the current local value of build.mysql2, which is currently nil
```
和訳する！

```
現在nilであるbuild.mysql2の現在のローカル値を置き換えています
```
何か実行はされたみたい！
いけたのか？

さっそく確認！！

```
$ bundle install
```
```
Fetching mysql2 0.5.2
Installing mysql2 0.5.2 with native extensions
Errno::EACCES: Permission denied @ dir_s_mkdir -
/Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/mysql2-0.5.2
An error occurred while installing mysql2 (0.5.2), and Bundler
cannot continue.
Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'`
succeeds before bundling.

In Gemfile:
  mysql2
```
同じエラー！！
変わってないやん！！

本来はこの辺りでうまくいくらしいが、どうやら最新のVerはそんな生ぬるくないらしい、、、

もうこうなったら
アンインストールして、再インストールしかない！！
※手順はこちらを参照させていただきました
https://qiita.com/akiko-pusu/items/aef52b723da2cb5dc596

そして再インストールを実行！

```
Fetching mysql2 0.5.2
Installing mysql2 0.5.2 with native extensions
Errno::EACCES: Permission denied @ rb_sysopen -
/Users/maedamasaki/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/CHANGELOG.md
An error occurred while installing mysql2 (0.5.2), and Bundler
cannot continue.
Make sure that `gem install mysql2 -v '0.5.2' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  mysql2
```
変わらず！！
でも、ここで指摘されているのは結局権限！！

こちらのサイト (http://infinity108.com/114/) を参照させていただくと
どうやら

```
$ sudo gem install
```
に問題があるみたい。
そこで、今度は以下の方法で権限を付加します。

```
$ sudo chown -R [ユーザ名]:staff /Users/[ユーザ名]/.rbenv
```
↓↓↓

```
$  sudo chown -R xxx ~/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2

$  sudo chown -R xxx ~/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/mysql2-0.5.2

```
そして確認！！

```
$ bundle install
```

```
Fetching mysql2 0.5.2
Installing mysql2 0.5.2 with native extensions
Fetching puma 3.12.1
Installing puma 3.12.1 with native extensions
Errno::EACCES: Permission denied @ dir_s_mkdir - /Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/puma-3.12.1
An error occurred while installing puma (3.12.1), and Bundler cannot continue.
Make sure that `gem install puma -v '3.12.1' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  puma
```
おー、違うエラーが！！

```
$ sudo chown -R xxx ~/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/puma-3.12.1
```
```
chown: /Users/xxx/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/puma-3.12.1: No such file or directory
```
と出たので、以下でチャレンジ！

```
$ sudo chown -R xxx ~/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static

```
よし！
さっそく確認！

```
$ 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/............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using rake 13.0.0
Using concurrent-ruby 1.1.5
Using i18n 1.7.0
Using minitest 5.12.2
Using thread_safe 0.3.6
Using tzinfo 1.2.5
Using zeitwerk 2.2.0
Using activesupport 6.0.0
Using builder 3.2.3
Using erubi 1.9.0
Using mini_portile2 2.4.0
Using nokogiri 1.10.4
Using rails-dom-testing 2.0.3
Using crass 1.0.5
Using loofah 2.3.1
Using rails-html-sanitizer 1.3.0
Using actionview 6.0.0
Using rack 2.0.7
Using rack-test 1.1.0
Using actionpack 6.0.0
Using nio4r 2.5.2
Using websocket-extensions 0.1.4
Using websocket-driver 0.7.1
Using actioncable 6.0.0
Using globalid 0.4.2
Using activejob 6.0.0
Using activemodel 6.0.0
Using activerecord 6.0.0
Using mimemagic 0.3.3
Using marcel 0.3.3
Using activestorage 6.0.0
Using mini_mime 1.0.2
Using mail 2.7.1
Using actionmailbox 6.0.0
Using actionmailer 6.0.0
Using actiontext 6.0.0
Using public_suffix 4.0.1
Using addressable 2.7.0
Using bindex 0.8.1
Using msgpack 1.3.1
Using bootsnap 1.4.5
Using bundler 2.0.2
Using byebug 11.0.1
Using regexp_parser 1.6.0
Using xpath 3.2.0
Using capybara 3.29.0
Using childprocess 3.0.0
Using ffi 1.11.1
Using jbuilder 2.9.1
Using rb-fsevent 0.10.3
Using rb-inotify 0.10.0
Using ruby_dep 1.5.0
Using listen 3.1.5
Using method_source 0.9.2
Using mysql2 0.5.2
Fetching puma 3.12.1
Installing puma 3.12.1 with native extensions
Fetching rack-proxy 0.6.5
Installing rack-proxy 0.6.5
Using thor 0.20.3
Using railties 6.0.0
Using sprockets 3.7.2
Using sprockets-rails 3.2.1
Using rails 6.0.0
Fetching rubyzip 2.0.0
Installing rubyzip 2.0.0
Fetching sass-listen 4.0.0
Installing sass-listen 4.0.0
Fetching sass 3.7.4
Installing sass 3.7.4
Fetching tilt 2.0.10
Installing tilt 2.0.10
Fetching sass-rails 5.1.0
Installing sass-rails 5.1.0
Fetching selenium-webdriver 3.142.6
Installing selenium-webdriver 3.142.6
Fetching spring 2.1.0
```
###ついに完了！！！！
長かった！！！


<h1>メモ</h1>
※with native extensions
gemの中には、ruby以外の言語（ネイティブ：C、C++）に依存しているものもあり、そのような依存関係のあるものをインストールする場合に表示される。
https://kossy-web-engineer.hatenablog.com/entry/2019/01/23/202225

※bundler, bundle install
https://www.sejuku.net/blog/19426#bundler

※root権限（sudo）
https://www.atmarkit.co.jp/ait/articles/1611/28/news036.html

※その他、参考になりそうなリンクも念の為貼っておきます。勉強します。
・gem installでpermission deniedされました
　https://qiita.com/tokimari/items/feda1ed61f2d8b5b317c