Recibo un mensaje de error que indica que no puedo encontrar la solución cuando intento instalar Rails v 6.1.1 en mi nueva máquina Mac (todavía en Catalina, no en Big Sur)
Tengo rbenv y Homebrew instalados y actualizados a la última versión de Ruby (3.0.0). Cuando which ruby obtengo: /usr/local/opt/ruby/bin/ruby
Este es el código de error que veo en la terminal cuando ejecuto gem install rails -v 6.1.1 (el mismo error con sudo install):
Building native extensions. This could take a while... ERROR: Error installing rails: ERROR: Failed to build gem native extension. current directory: /usr/local/lib/ruby/gems/3.0.0/gems/mimemagic-0.3.10/ext/mimemagic /usr/local/opt/ruby/bin/ruby -I/usr/local/lib/ruby/site_ruby/3.0.0 -rrubygems /usr/local/Cellar/ruby/3.0.0_1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/exe/rake RUBYARCHDIR\=/usr/local/lib/ruby/gems/3.0.0/extensions/x86_64-darwin-19/3.0.0/mimemagic-0.3.10 RUBYLIBDIR\=/usr/local/lib/ruby/gems/3.0.0/extensions/x86_64-darwin-19/3.0.0/mimemagic-0.3.10 rake aborted! Could not find MIME type database in the following locations: ["/usr/local/share/mime/packages/freedesktop.org.xml", "/opt/homebrew/share/mime/packages/freedesktop.org.xml", "/opt/local/share/mime/packages/freedesktop.org.xml", "/usr/share/mime/packages/freedesktop.org.xml"] Ensure you have either installed the shared-mime-info package for your distribution, or obtain a version of freedesktop.org.xml and set FREEDESKTOP_MIME_TYPES_PATH to the location of that file. This gem might be installed as a dependency of some bigger package, such as rails, activestorage, axlsx or cucumber. While most of these packages use the functionality of this gem, some gems have included this gem by accident. Set USE_FREEDESKTOP_PLACEHOLDER=true if you are certain that you do not need this gem, and wish to skip the inclusion of freedesktop.org.xml. The FREEDESKTOP_PLACEHOLDER option is meant as a transitional feature, and will be deprecated in the next release. /usr/local/lib/ruby/gems/3.0.0/gems/mimemagic-0.3.10/ext/mimemagic/Rakefile:15:in `locate_mime_database' /usr/local/lib/ruby/gems/3.0.0/gems/mimemagic-0.3.10/ext/mimemagic/Rakefile:39:in `block in <top (required)>' Tasks: TOP => default (See full trace by running task with --trace) rake failed, exit code 1 Gem files will remain installed in /usr/local/lib/ruby/gems/3.0.0/gems/mimemagic-0.3.10 for inspection. Results logged to /usr/local/lib/ruby/gems/3.0.0/extensions/x86_64-darwin-19/3.0.0/mimemagic-0.3.10/gem_make.outSimplemente instale shared-mime-info en su computadora. De los documentos de la gema mimemagic.
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.Si no puede usar un administrador de paquetes, puede obtener una copia del archivo necesario extrayéndolo del paquete Debian. Este proceso también funcionará en una máquina con Windows. [...]
es posible que desee considerar instalar Rails 6.1.3.1 (en lugar de 6.1.1 en su comando). Esa versión se lanzó para solucionar exactamente el problema de mimemagic que enfrenta, hace solo un par de horas.
Si desea que brew instale esto por usted y no ha actualizado brew por un tiempo, le recomendaría ejecutar:
HOMEBREW_NO_AUTO_UPDATE=1 brew install shared-mime-infosolo corrí
brew install shared-mime-infoY actualizó un montón de paquetes que no quería y rompió mi instalación de Ruby.
También me gusta la solución de Spickermann. Parece ser lo que los mantenedores de paquetes quieren que hagas.