発生事象
- Rail6にて、
rails server
を実行するとincompatible library version
が発生する - 発生しているgemを解決しても別のgemにて同様の問題が発生する
/Users/MyUser/.rbenv/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require': incompatible library version - /Users/MyUser/.rbenv/gems/2.6.0/gems/nokogiri-1.10.10/lib/nokogiri/nokogiri.bundle (LoadError)
/Users/MyUser/.rbenv/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require': incompatible library version - /Users/MyUser/.rbenv/gems/2.6.0/gems/bindex-0.8.1/lib/skiptrace/internal/cruby.bundle (LoadError)
環境
使用している環境は以下の通りです。
バージョン | |||
---|---|---|---|
OS | macOS | Catalina | 10.15.17 |
管理ツール | Ruby | rbenv | 1.1.2 |
gem | RubyGems | 3.0.3 | |
Bundler | 2.2.2 | ||
Ruby | Ruby | global | 2.6.3 |
Rails | Rails | 6.0.3 |
問題発生までの手順
- ※前提として、Railsチュートリアルにならって、作業を行なっています。
mkdir environment
cd environment
rails _6.0.3._ new hello_app
cd hello_app
- 以下の
Gemfile
に置き換え bundle update
bundle install
bundle exec rails server
試したこと
最初にmsgpack
にてincompatible library version
が発生しており、調べていたところ、以下を実行するとの記事があったため、実施しました。
(記事のURLを保存しておくのを忘れました。かなり検索の後のページにあった情報でした)
$ gem install msgpack
そうしましたら、msgpack
では発生しなくなり、別のgemで同様の問題が発生した次第です。
使用しているGemfile
source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '2.6.3' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 6.0.3' # Use sqlite3 as the database for Active Record gem 'sqlite3', '~> 1.4' # Use Puma as the app server gem 'puma', '~> 3.11' # Use SCSS for stylesheets gem 'sass-rails', '~> 5' # Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker gem 'webpacker', '~> 4.0' # Turbolinks makes navigating your web application faster. # Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.7' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 4.0' # Use Active Model has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use Active Storage variant # gem 'image_processing', '~> 1.2' # Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', '>= 1.4.2', require: false group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a # debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] end group :development do # Access an interactive console on exception pages or by calling 'console' # anywhere in the code. gem 'web-console', '>= 3.3.0' gem 'listen', '>= 3.0.5', '< 3.2' # Spring speeds up development by keeping your application running in the # background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' end group :test do # Adds support for Capybara system testing and selenium driver gem 'capybara', '>= 2.15' gem 'selenium-webdriver' # Easy installation and use of web drivers to run system tests with browsers gem 'webdrivers' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
質問
以下に関して教えていただきたいです。
根本原因はなになのか?
- 調べるとライブラリの互換性の問題とありましたが、gemコマンドにて直接インストールすると解決するのはおかしいのではないのか?
- どこを確認すれば解決策にいたるのか?
上記であげた解決方法だとなぜ問題が解決するのか?
ひとつひとつ手動でインストールが必要になると何のためのbundlerなのか?
さいごに
どうぞよろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/30 12:41 編集