前提
bundle install時にエラーが発生しました。
使用しているRubyのバージョン 2.4.1p111を使用しています。
Rubyのバージョンがかなり古いかと思いますが、諸事情でバージョンはあまり変えたくありません。
Gemfileは以下になります。文字数制限の関係上、エラーが出てバージョン変更した部分周辺の抜粋になります。
Gemfile
1# frozen_string_literal: true 2 3source 'https://rubygems.org' 4 5#gem 'rails', '~> 6.1.4.6' 6gem 'rails', '~> 4.2', '>= 4.2.11.1' 7 8gem 'bootsnap', '~> 1.9.1', require: false 9 10# OS detection for usage ping 11#gem 'ohai', '~> 16.10' 12gem 'ohai', '~> 14.15' 13 14# Markdown and HTML processing 15gem 'html-pipeline', '~> 2.13.2' 16gem 'deckar01-task_list', '2.3.1' 17gem 'gitlab-markup', '~> 1.8.0' 18gem 'github-markup', '~> 1.7.0', require: 'github/markup' 19gem 'commonmarker', '~> 0.23.4' 20gem 'kramdown', '~> 2.3.1' 21gem 'RedCloth', '~> 4.3.2' 22gem 'rdoc', '~> 6.3.2' 23gem 'org-ruby', '~> 0.9.12' 24gem 'creole', '~> 0.5.0' 25gem 'wikicloth', '0.8.1' 26gem 'asciidoctor', '~> 2.0.10' 27gem 'asciidoctor-include-ext', '~> 0.3.1', require: false 28gem 'asciidoctor-plantuml', '~> 0.0.12' 29gem 'asciidoctor-kroki', '~> 0.5.0', require: false 30gem 'rouge', '~> 3.27.0' 31gem 'truncato', '~> 0.7.11' 32gem 'bootstrap_form', '~> 4.2.0' 33#gem 'nokogiri', '~> 1.12' 34gem 'nokogiri', '~> 1.10', '>= 1.10.10' 35gem 'escape_utils', '~> 1.1' 36 37# Background jobs 38#gem 'sidekiq', '~> 6.4' 39gem 'sidekiq', '~> 5.2', '>= 5.2.10' 40gem 'sidekiq-cron', '~> 1.2' 41gem 'redis-namespace', '~> 1.8.1' 42gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch' 43 44# Metrics 45gem 'method_source', '~> 1.0', require: false 46gem 'webrick', '~> 1.6.1', require: false 47#gem 'webrick', '~> 1.7', require: false 48gem 'prometheus-client-mmap', '~> 0.15.0', require: 'prometheus/client' 49 50gem 'warning', '~> 1.2.0' 51 52group :test do 53 gem 'fuubar', '~> 2.2.0' 54 gem 'rspec-retry', '~> 0.6.1' 55 gem 'rspec_profiling', '~> 0.0.6' 56 gem 'rspec-benchmark', '~> 0.6.0' 57 gem 'rspec-parameterized', require: false 58 59# gem 'capybara', '~> 3.35.3' 60 gem 'capybara', '~> 3.32', '>= 3.32.2' 61 gem 'capybara-screenshot', '~> 1.0.22' 62 gem 'selenium-webdriver', '~> 3.142' 63 64 gem 'shoulda-matchers', '~> 4.0.1', require: false 65 gem 'email_spec', '~> 2.2.0' 66 gem 'webmock', '~> 3.9.1' 67 gem 'rails-controller-testing' 68 gem 'concurrent-ruby', '~> 1.1' 69 gem 'test-prof', '~> 1.0.7' 70 gem 'rspec_junit_formatter' 71 gem 'guard-rspec'
発生している問題・エラーメッセージ
bundle install時に以下エラーが発生。
bundle install Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine. Fetching source index from https://rubygems.org/ Resolving dependencies......................................................................................................................................................................................... Bundler found conflicting requirements for the Ruby version: In Gemfile: rails (~> 6.1.4.6) was resolved to 6.1.4.6, which depends on Ruby (>= 2.5.0) bootsnap (~> 1.9.1) was resolved to 1.9.1, which depends on Ruby (>= 2.3.0) responders (~> 3.0) was resolved to 3.0.0, which depends on Ruby (>= 2.4.0) sprockets (~> 3.7.0) was resolved to 3.7.2, which depends on Ruby (>= 1.9.3) pg (~> 1.1) was resolved to 1.2.3, which depends on Ruby (>= 2.2) devise (~> 4.7.2) was resolved to 4.7.3, which depends on Ruby (>= 2.1.0) ruby-saml (~> 1.13.0) was resolved to 1.13.0, which depends on Ruby (>= 1.8.7) attr_encrypted (~> 3.1.0) was resolved to 3.1.0, which depends on Ruby (>= 2.0.0) ohai (~> 16.10) was resolved to 16.10.6, which depends on Ruby (>= 2.6) commonmarker (~> 0.23.4) was resolved to 0.23.4, which depends on Ruby (>= 2.6, < 4.0) bootstrap_form (~> 4.2.0) was resolved to 4.2.0, which depends on Ruby (>= 2.2.2) icalendar was resolved to 2.4.1, which depends on Ruby (>= 1.9.2) asana (~> 0.10.3) was resolved to 0.10.3, which depends on Ruby (> 2.0) licensee (~> 9.14.1) was resolved to 9.14.1, which depends on Ruby (> 2.3) tanuki_emoji (~> 0.6) was resolved to 0.6.0, which depends on Ruby (>= 2.7.0) ruby_parser (~> 3.15) was resolved to 3.15.0, which depends on Ruby (>= 2.1, < 3.1) thin (~> 1.8.0) was resolved to 1.8.0, which depends on Ruby (>= 1.8.5) pry-rails (~> 0.3.9) was resolved to 0.3.9, which depends on Ruby (>= 1.9.1) gitlab-license_finder (~> 6.0) was resolved to 6.14.2.1, which depends on Ruby (>= 2.3.3) asana (~> 0.10.3) was resolved to 0.10.3, which depends on oauth2 (~> 1.4) was resolved to 1.4.7, which depends on Ruby (>= 1.9.0) yajl-ruby (~> 1.4.1) was resolved to 1.4.1, which depends on Ruby (>= 1.8.6) graphql-docs (~> 1.6.0) was resolved to 1.6.0, which depends on gemoji (~> 3.0) was resolved to 3.0.1, which depends on Ruby (> 1.9) org-ruby (~> 0.9.12) was resolved to 0.9.12, which depends on rubypants (~> 0.2) was resolved to 0.2.0, which depends on Ruby (> 0.0.0) solargraph (~> 0.43) was resolved to 0.43.0, which depends on diff-lcs (~> 1.4) was resolved to 1.4.4, which depends on Ruby (>= 1.8) Ruby
コンフリクトを起こした際に、bundle updateすれば解決するかもしれない、
Gemfile.lockを削除してbundle installすれば解決するかもしれないという記事を読んだので、
Gemfile.lockを削除後、bundle updateを実施しました。
実施後、以下のようにエラーが変わりました。
Bundler found conflicting requirements for the Ruby version: In Gemfile: Ruby aws-sdk-core (~> 3) was resolved to 3.130.1, which depends on Ruby (>= 2.3) gitlab-license_finder (~> 6.0) was resolved to 6.14.2.1, which depends on Ruby (>= 2.3.3) gitlab-net-dns (~> 0.9.1) was resolved to 0.9.1, which depends on Ruby (>= 2.1) grpc (~> 1.42.0) was resolved to 1.42.0, which depends on Ruby (< 3.1.dev, >= 2.4) nokogiri (~> 1.12) was resolved to 1.12.5, which depends on Ruby (>= 2.5.0)
試したこと
Rubyのバージョン 2.4.1p111 を使用しており、nokogiriの期待するrubyのバージョンと合わないためエラーが出ているのだと判断。
以下サイトを参考に必要Rubyバージョンが2.4.1以下のものを探して、Gemfileを修正後再度install updateを実施。
参考URL: https://rubygems.org/
再度install update実施後も同じようなエラーが出て、都度都度Gemfileを修正しています。
またruby2.4.1に合わせるためにライブラリのバージョンを下げてるせいか、
そのバージョンを下げたライブラリに依存するライブラリに関してもエラーが出てきて、
どんどんエラーが増えていっている状態です。
まず、このエラー対応は正しいのでしょうか。ruby初学者かつこのようなエラー対応は初めてなので、
このままこの対応をしていて問題ないのかと不安になり質問致しました。
分かる方いればぜひ教えていただければ幸いです。