MySQLをdropする際のエラー対処(Library not loaded: /usr/local/opt/xz/lib/liblzma.5.dylib)

トラブルシューティング備忘録です。
先日やっていた作業をdockerでコンテナを立て直して始めたところ`nokogiri`の影響か、エラーがでました。
先日まで作業ができていたにもかかわらず、なぜこんなことになったのか謎でしたが、解決できましたので共有します。環境はmacです。


以下エラー内容です。

```
LoadError: dlopen(/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.0/lib/nokogiri/nokogiri.bundle, 9): Library not loaded: /usr/local/opt/xz/lib/liblzma.5.dylib
  Referenced from: /Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.0/lib/nokogiri/nokogiri.bundle
  Reason: Incompatible library version: nokogiri.bundle requires version 8.0.0 or later, but liblzma.5.dylib provides version 6.0.0 - /Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.0/lib/nokogiri/nokogiri.bundle
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `block in require'
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in `load_dependency'
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.0/lib/nokogiri.rb:32:in `rescue in <top (required)>'
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.0/lib/nokogiri.rb:28:in `<top (required)>'
/Users/Home/Desktop/project/web-project/config/application.rb:7:in `<top (required)>'
/Users/Home/Desktop/project/web-project/Rakefile:4:in `require'
/Users/Home/Desktop/project/web-project/Rakefile:4:in `<top (required)>'
/Users/Home/.rbenv/versions/2.3.4/bin/bundle:22:in `load'
/Users/Home/.rbenv/versions/2.3.4/bin/bundle:22:in `<main>'
LoadError: cannot load such file -- nokogiri/2.3/nokogiri
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `block in require'
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:232:in `load_dependency'
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.8/lib/active_support/dependencies.rb:247:in `require'
/Users/Home/Desktop/project/web-project/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.0/lib/nokogiri.rb:30:in `<top (required)>'
/Users/Home/Desktop/project/web-project/config/application.rb:7:in `<top (required)>'
/Users/Home/Desktop/project/web-project/Rakefile:4:in `require'
/Users/Home/Desktop/project/web-project/Rakefile:4:in `<top (required)>'
/Users/Home/.rbenv/versions/2.3.4/bin/bundle:22:in `load'
/Users/Home/.rbenv/versions/2.3.4/bin/bundle:22:in `<main>'
(See full trace by running task with --trace)

```

`nokogiri`関連のエラーはよく聞いていたので覚悟はしていたのですが、出るとやはり驚きますよね。
でも根本はそれではありませんでした。
肝はここ。

```
Library not loaded: /usr/local/opt/xz/lib/liblzma.5.dylib
```
この子が読み取れないらしいので、ルートディレクトリ配下からたどっていきました(なぜかファイルが見つからなかったので順に追っていってます)。
すると、

```
$ cd usr
$ cd local
$ cd opt
$ cd xz 
-bash: cd: xz: No such file or directory
```
はい発見。 `xz`以下のディレクトリがない。
もしや、と思って

```
$ brew install xz
```
をすると、無事インストール完了。
確認していくと

```
$ cd xz
$ cd lib
$ find liblzma.5.dylib
liblzma.5.dylib
```
ロードできなかったファイルがインストールされた。
dockerのコンテナ自体を作り直して、MySQL環境用のシェルを叩いたら無事成功。
まとめとしては、ファイルが読み込めなかったらたどって探してみる＋なければインストールって流れですね。
projectの関係上、gitlabの権限がなく`bundle install`できなかったのが一番の問題でした。
なぜなくなってしまったのかは謎ですが、おそらく原因はコンテナを立て直した際に何かしらファイルが削除されたのかな…と。そんなことないと思うんですが。。。
とりあえず解決して満足です。`nokogiri`のせいにしちゃってごめんね。