Bundler::GemNotFound:在使用Docker的Rails项目的任何源中找不到mimemagic-0.3.5

我知道最近的 mimemagic 问题,我通过捆绑更新到 0.3.7 设法在我的一个 Rails 项目上解决了这个问题 - 但由于某种原因,我无法在下面的项目中解决它。

我有一个 Rails 6 项目,这是我第一次在新笔记本电脑上进行设置。我的笔记本电脑没有正确的 Ruby 设置,所以我在我的项目中添加了一个 Dockerfile,如下所示:-

文件

FROM ruby:2.7
RUN apt-get update -qq && apt-get install -y nodejs postgresql-client
WORKDIR /radius
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle update mimemagic
RUN bundle install
COPY . /myapp


COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 3000


CMD ["rails", "server", "-b", "0.0.0.0"]

文件

# frozen_string_literal: true

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.7.2'
gem 'airbrake'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'dotenv-rails'
gem 'rails', '~> 6.0.3.6'
# Use postgresql as the database for Active Record
gem 'pg', '>= 0.18', '< 2.0'
# Use Puma as the app server
gem 'puma', '~> 3.11'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5'
gem 'shortener'

# Use Honeybadger for error reporting/monitoring
gem 'honeybadger', '~> 4.0'
# 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.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use Active Model has_secure_password
# gem 'bcrypt', '~> 3.1.7'
gem 'newrelic_rpm'

# 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
  gem 'awesome_print'
  gem 'byebug', platforms: %i[mri mingw x64_mingw]
  gem 'pry-byebug'
  # Version specified as workaround for this issue https://github.com/rails/rails/issues/35417
  gem 'rspec-rails', '~> 4.0.0.beta2'
end

group :development do
  gem 'factory_bot_rails', '~> 4.0'
  gem 'fasterer'
  gem 'haml_lint', require: false
  gem 'listen', '>= 3.0.5', '< 3.2'
  gem 'rails_best_practices'
  gem 'reek'
  gem 'rubocop'
  gem 'scss_lint', require: false
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
  gem 'web-console', '>= 3.3.0'
end

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 2.15'
  gem 'rspec_junit_formatter'
  gem 'selenium-webdriver'
  # Easy installation and use of web drivers to run system tests with browsers
  gem 'webdrivers'
  gem 'webmock'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]

gem 'administrate', '0.12.0'
gem 'bootstrap', '~> 4.3', '>= 4.3.1'
gem 'devise', '~> 4.6', '>= 4.6.1'
gem 'devise-bootstrapped',  github: 'excid3/devise-bootstrapped',
                            branch: 'bootstrap4'
gem 'devise_masquerade', '~> 0.6.2'
gem 'font-awesome-sass', '~> 5.6', '>= 5.6.1'
gem 'friendly_id', '~> 5.2', '>= 5.2.5'
gem 'gibbon'
gem 'gmaps4rails'
gem 'gravatar_image_tag', github: 'mdeering/gravatar_image_tag'
gem 'httparty'
gem 'mini_magick', '~> 4.9', '>= 4.9.2'
gem 'name_of_person', '~> 1.1'
gem 'omniauth-facebook', '~> 5.0'
gem 'omniauth-github', '~> 1.3'
gem 'omniauth-twitter', '~> 1.4'
gem 'pundit', '~> 1.1.0'
gem 'sidekiq', '~> 5.2', '>= 5.2.5'
gem 'sitemap_generator', '~> 6.0', '>= 6.0.1'
gem 'underscore-rails'
gem 'whenever', require: false

然后我尝试:-

docker-compose build
docker-compose up

连同以下各项的每一个组合:-

  • 使用bundle update mimemagic在我dockerfile
  • 将 gem 专门添加到我的 Gemfile 中 gem 'mimemagic', '~> 0.3.7'
  • 手动将我的 Gemfile.lock mimemagic 版本从 更改0.3.50.3.7
  • 添加RUN apt-get install shared-mime-info到我的 Dockefile

我只是得到以下之一:-

Could not find mimemagic-0.3.x in any of the sources
web_1  | Bundler::GemNotFound: You have requested:
web_1  |   mimemagic ~> 0.3.7
web_1  | 
web_1  | The bundle currently has mimemagic locked at 0.3.5.
web_1  | Try running `bundle update mimemagic`

我还尝试将导轨撞到6.0.3.6并再次运行 docker build,这给我带来了 activesupport 问题:-

web_1  | Bundler::VersionConflict: Bundler could not find compatible versions for gem "activesupport":
web_1  |   In snapshot (Gemfile.lock):
web_1  |     activesupport (= 6.0.3.5)
web_1  | 
web_1  |   In Gemfile:
web_1  |     rails (~> 6.0.3.6) was resolved to 6.0.3.6, which depends on
web_1  |       activesupport (= 6.0.3.6)
web_1  | 
web_1  |     dotenv-rails was resolved to 2.7.6, which depends on
web_1  |       railties (>= 3.2) was resolved to 6.0.3.5, which depends on
web_1  |         activesupport (= 6.0.3.5)
web_1  | 
web_1  | Running `bundle update` will rebuild your snapshot from scratch, using only
web_1  | the gems in your Gemfile, which may resolve the conflict.

我究竟需要做什么才能安装这个 gem?

回答

bundle update --conservative mimemagic 

也尝试使用较新的版本而不是锁定它。它对我们有用 0.3.9,但现在有0.3.10(还没有尝试过),


回答

解决它使用:

bundle update mimemagic

Your bundle is locked to mimemagic (0.3.5) from rubygems在捆绑安装时遇到错误。

这个更新mimemagic版本,0.3.10并添加nokigirirake在Gemfile.lock的依赖我。


以上是Bundler::GemNotFound:在使用Docker的Rails项目的任何源中找不到mimemagic-0.3.5的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>