Soy consciente de los problemas recientes de mimemagic, que logré resolver en uno de mis proyectos Rails al actualizar el paquete a 0.3.7, pero por alguna razón, no puedo resolverlo en el proyecto a continuación.
Tengo un proyecto de Rails 6 que estoy configurando por primera vez en una computadora portátil nueva. Mi computadora portátil no tiene la configuración correcta de Ruby, por lo que agregué un Dockerfile a mi proyecto de la siguiente manera:
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"]Archivo de gemas
# 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: falseLuego intento: -
docker-compose build docker-compose upJunto con cada combinación de lo siguiente: -
bundle update mimemagic de paquete en mi dockerfilegem 'mimemagic', '~> 0.3.7'0.3.5 a 0.3.7RUN apt-get install shared-mime-info a mi Dokefiley simplemente obtengo uno de los siguientes: -
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` También intenté pasar los rieles a 6.0.3.6 y ejecutar la compilación de la ventana acoplable nuevamente, lo que me da problemas de soporte activo:
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.¿Qué debo hacer exactamente para que esta joya se instale?
bundle update --conservative mimemagictambién intente con una versión más nueva en lugar de bloquearla. funcionó para nosotros con 0.3.9 , pero ahora hay 0.3.10 (no lo he probado),
Lo resolvió usando:
bundle update mimemagic Recibí el error Your bundle is locked to mimemagic (0.3.5) from rubygems en la instalación del paquete.
Esta versión actualizada de mimemagic a 0.3.10 y agregó dependencias de nokigiri y rake en Gemfile.lock para mí.
Para mi caso, esta fue la solución de macOS: 'Necesitará una copia de la base de datos de información compartida de Freedesktop.org para estar disponible. Si está en Linux, probablemente esté disponible a través de su administrador de paquetes, y probablemente estará en la ubicación que se busca cuando se instala la gema.
Los usuarios de macOS pueden instalar la base de datos a través de Homebrew con brew install shared-mime-info. https://github.com/mimemagicrb/mimemagic
Otras soluciones pueden actualizar más gemas de las que le gustaría.
Otra solución es editar su Gemfile.lock
Encuentra la línea que dice mimemagic (0.3.5)
Reemplazar con mimemagic (0.3.10)
O cualquiera que sea la versión 0.3.x más alta que encuentre aquí: https://github.com/mimemagicrb/mimemagic/tags