LoginSignup
2
1

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-06-06

トラブルシューティング備忘録です。
先日やっていた作業を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のせいにしちゃってごめんね。

2
1
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
2
1