Что случилось с мимемагией?

Что случилось с mimemagic? @rails activerecord зависит от @basecamp marcel, который зависит от mimemagic 0.3.2. Теперь, когда mimemagic 0.3.2 удален, что делать дальше?


person Everistus Olumese    schedule 24.03.2021    source источник


Ответы (7)


Вы можете получить драгоценный камень обратно. Созданный двоичный файл gem мог быть удален, но ссылка на коммит каждого выпуска все еще существует. Вы можете ссылаться на драгоценный камень с помощью github commit ref следующим образом:

# 0.3.2
gem 'mimemagic', github: 'mimemagicrb/mimemagic', ref: '3543363026121ee28d98dfce4cb6366980c055ee'

для другой фиксации ref вы можете увидеть эту ссылку:

https://github.com/mimemagicrb/mimemagic/commits/0.3?after=22c06826417ed67c02b94ebc9998c24da5a03c56+69&branch=0.3

person channa ly    schedule 11.04.2021

Примечание: обновление до Mimemagic 0.3.8 по-прежнему осуществляется под лицензией GPL-2.0, что может быть нежелательно при любых обстоятельствах.

Я столкнулся с этим сегодня, и вот что я сделал, чтобы решить проблему
(у меня MBP Catalina 10.15.7)

Шаг 1: обновите Gemfile.lock до mimemagic 0.3.8, запустив

  $ brew install shared-mime-info
  $ bundle update mimemagic

(Убедитесь, что в системе, которую вы развертываете, установлены соответствующие библиотеки).

✅ Проблема мимемагии решена благодаря этому комментарию

Шаг 2: Обновите пакеты пряжи
, когда я это сделал, он обновил все в доморощенном, поэтому, когда я перезапустил свой сервер, я получил

  Your Yarn packages are out of date!
  Please run `yarn install` to update.

но запуск $yarn install дал мне ошибку:

  dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.67.dylib
  Referenced from: /usr/local/bin/node

а также

  yarn check v1.22.10
  warning Integrity check: System parameters don't match
  error Integrity check failed
  error Found 1 errors.

Наконец, исправлены проблемы с пряжей, запустив

   $ yarn --update-checksums

???? Проблема с пряжей решена (благодаря этому сообщению в блоге)

Шаг 3 Наконец, brew также обновил мой Postgresql с 12 до 13.2, поэтому я получил

  PG::ConnectionBad - could not connect to server: No such file or directory
  Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Никакой PID для удаления, остановки и перезапуска, выгрузки и перезагрузки, запуска ctl не работал... наконец, это сработало, проверьте postgres.log, запустив

  $ tail -n 10 /usr/local/var/log/postgres.log 

последняя строка показывает:

 FATAL:  database files are incompatible with server
 DETAIL:  The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 13.2.

???????? Исправлено:

  $ brew postgresql-upgrade-database

Наконец, обновление postgres db исправлено благодаря этому сообщению

person ea0723    schedule 26.03.2021

Автор драгоценного камня удалил все версии из-за того, что сам драгоценный камень нарушает требования лицензии GPL. В настоящее время есть люди, работающие над решениями, чтобы сделать решение, совместимое с MIT, или обойти зависимости.

Обсуждение: https://github.com/rails/rails/issues/41750

person codingbunny    schedule 24.03.2021

жестко запрограммированная ссылка на gem для обходного пути здесь

person Fdwillis    schedule 27.03.2021

Пожалуйста, установите shared-mime-info и добавьте FREEDESKTOP_MIME_TYPES_PATH в свою среду. если вы используете Windows или Linux, загрузите с https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/0440063a2e6823a4b1a6fb2f2af8350f/shared-mime-info-2.0.tar.xz и извлеките его.

person Phuc TC    schedule 29.03.2021
comment
это должен быть принятый ответ! :) Работает отлично! - person Fernando Vieira; 14.06.2021

Исправил это, просто обновив mimemagic версию до 0.3.6 моей Gemfile.lock

person Everistus Olumese    schedule 24.03.2021
comment
Обратите внимание, что это НЕ является хорошим решением для большинства людей. Бэк-порт этой версии находится под лицензией GPL, что означает, что любой ваш код также должен быть GPL. GPL требует, чтобы весь исходный код, полученный на ее основе, был с открытым исходным кодом, что не будет работать для подавляющего большинства проектов rails, включая, вероятно, и ваш собственный. - person Ethan Z; 25.03.2021
comment
Это может быть нормально, если вы не распространяете исходный код, например. исходный код продукта SaaS не распространяется, а доступен через сеть. resources.whitesourcesoftware.com/blog- белый источник/ - person Kris; 25.03.2021

Команда Rails опубликовала исправление, удаляющее зависимость mimemagic. Библиотека Марселя теперь использует Apache Tika, выпущенную под разрешающей и совместимой лицензией Apache License 2.0.

Подробнее читайте на странице: https://weblog.rubyonrails.org/2021/3/26/marcel-upgrade-releases/

person Everistus Olumese    schedule 31.03.2021