Версия для печати RubyGem

В качестве дополнения к запросу пользователя26687:

Да, любой файл внутри /etc/apt/sources.list.d должен иметь расширение .list, иначе apt будет печатать предупреждающее сообщение и игнорировать файл, за исключением случаев, когда файл соответствует шаблон в опции apt Dir::Ignore-Files-Silently.

GUI Software Sources создает .list.save для , кроме файла .list, который он управляет, как своего рода «резервный» файл , Об ошибке LP 611925 упоминается с 2010 года, когда apt не молчал игнорировать файлы .save и, как таковое, генерировал много предупреждений.

В 2010 году это поведение было исправлено в apt версии 0.8.3ubuntu1 для Ошибка LP 631770:

apt (0.8.3ubuntu1) maverick; urgency=low

  * merged fixes from debian-sid
  * debian/rules:
    - put ubuntu-archive.gpg back into the package (LP: #620576)
  * apt-pkg/init.cc:
    - ignore ".distUpgrade" and ".save" files in sources.list.d
      (LP: #631770)

По умолчанию эти файлы игнорируются по умолчанию apt. Вы можете увидеть все такие паттерны с помощью:

apt-config dump | grep Dir::Ignore-Files-Silently::

. Такие файлы, как .save, .bak, .orig, среди прочих, также принимаются (и игнорируются) в /etc/apt/sources.list.d [!d8 ]

2
задан 7 March 2012 в 18:40

1 ответ

«слишком новая» версия RubyGems действительно может быть проблемой с некоторыми более старыми приложениями (в основном теми, кто по-прежнему использует Rails 2.x), но сообщение об ошибке, которое вы опубликовали, похоже, указывает на другую причину. Вашим приложениям нужна конкретная версия Rack gem, и установленные вами версии (ы), вероятно, не соответствуют этому запросу.

В ваших приложениях вызывается rack ~> 1.1.0. Это условие соответствует любой версии в серии 1.1.x, например 1.1.0, 1.1.5 или 1.1.345, но не 1.2.0 или 2.0.0. Кажется, вы установили Rack в 1.4.1, что не соответствует условию ~> 1.1.0.

К счастью, вы можете устанавливать разные версии одного и того же драгоценного камня бок о бок. Чтобы проверить, какие версии Rack вы установили, вы можете использовать

gem list -l rack

. Эти списки локально установлены (из-за -l-переключателей), имена которых начинаются с «стойки». В этом списке, вероятно, нет версии серии 1.1.x.

Чтобы установить конкретную версию драгоценного камня, вы можете использовать опцию --version = xyz в вашем случае

gem install rack --version=1.1.0

Скорее всего, ваши миграции проходят через это.

Если вам действительно нужно понизить рейтинг RubyGems, вам сначала нужно установить gem (: D) RubyGems в версию, которую вы хотите понизить, чтобы аналогично тому, что вы делали выше, e. g.

gem install rubygems-update --version=x.y.z

Затем вы можете выполнить «обновление» (в вашем случае, понижение)

gem update --system x.y.z

, где x.y.z - номер версии, которую вы хотите. Имейте в виду, что в RubyGems 1.5.1 было введено «обновление» до определенной версии, поэтому вы не можете перейти к любой версии ниже этого.

1
ответ дан 4 August 2018 в 17:23

Другие вопросы по тегам:

Похожие вопросы: