Что случилось с mimemagic? @rails activerecord зависит от @basecamp marcel, который зависит от mimemagic 0.3.2. Теперь, когда mimemagic 0.3.2 удален, что делать дальше?
Что случилось с мимемагией?
Ответы (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
Примечание: обновление до 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 исправлено благодаря этому сообщению
Автор драгоценного камня удалил все версии из-за того, что сам драгоценный камень нарушает требования лицензии GPL. В настоящее время есть люди, работающие над решениями, чтобы сделать решение, совместимое с MIT, или обойти зависимости.
Обсуждение: https://github.com/rails/rails/issues/41750
жестко запрограммированная ссылка на gem для обходного пути здесь
Пожалуйста, установите 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 и извлеките его.
Исправил это, просто обновив mimemagic
версию до 0.3.6
моей Gemfile.lock
Команда Rails опубликовала исправление, удаляющее зависимость mimemagic. Библиотека Марселя теперь использует Apache Tika, выпущенную под разрешающей и совместимой лицензией Apache License 2.0.
Подробнее читайте на странице: https://weblog.rubyonrails.org/2021/3/26/marcel-upgrade-releases/