Подтвердить что ты не робот

Удалил бы.. в heroku развернуть журнал

несколько дней назад я начал видеть

 Would have removed best_in_place (2.0.2)
 Would have removed thor (0.16.0)

в моем выпуске развертывания heroku.

Раньше говорилось, что он удалил камень.

Кто-нибудь знает, что с этим?

обновление

heroku обновлен до последней версии ruby ​​1.9.3, а кеш отправителя очищен.

4b9b3361

Ответ 1

Эта проблема теперь исправлена ​​выпуском Bundler 1.3.2, который теперь используется на Heroku в последнем официальном Ruby buildpack.

Ответ 2

Это ошибка в конфигурации развертывания Heroku. Он записывает файл .bundle/config, который имеет строку:

BUNDLE_DRY_RUN: false

Когда bundler загружает этот глобальный файл конфигурации, он переводит это на: dry_run = > "false" Когда он проверяет этот параметр, он проверяет настройки [: dry_run], который является строкой, которая оценивает значение true.

Вы можете удалить эту строку с помощью некоторых команд оболочки (heroku run bash):

mv -f .bundle/config .bundle/config.orig
sed '/BUNDLE_DRY_RUN/d' < .bundle/config.orig > .bundle/config

И затем запустите

bundle clean

Ответ 3

Это ошибка в жгуте bundler - по сути, дополнительная информация об отладке сбрасывается на экран. Он должен быть исправлен в следующем выпуске. Удаление будет из кеша, скорее всего, потому, что доступна более новая версия (последняя best_in_place равна 2.0.3, Thor 0.17.0). Их можно безопасно игнорировать.

Ответ 4

После некоторых исследований, похоже, это не ошибка, а функция!

как вы можете видеть здесь https://github.com/carlhuda/bundler/pull/2237

a dry_run флаг был внедрен, чтобы действовать так, как если бы камни были удалены, и вместо их удаления он просто печатает, что

фактический код здесь

 if Bundler.settings[:dry_run]
          Bundler.ui.info "Would have removed #{output}"
        else
          Bundler.ui.info "Removing #{output}"
          FileUtils.rm_rf(gem_dir)
        end

как вы можете видеть, если dry_run печатает это. иначе он удаляет драгоценный камень

так как это функция, а не ошибка, она не будет исправлена ​​в ближайшее время. Это оставляет вопрос для герою (который я жду ответа) о том, почему они используют dry_run..

Примечание для тех, кто не знает - это раздувание slug size

Ответ 5

Экспликация @Roman верна.

Если у вас есть собственный buildpack (или вы можете легко его разветкить и использовать его), он может быть исправлен в одной строке

https://github.com/heroku/heroku-buildpack-ruby/blob/master/lib/language_pack/ruby.rb

строка 408-409 из

puts "Cleaning up the bundler cache."
pipe "bundle clean"

к

puts "Cleaning up the bundler cache."
pipe "bundle config --delete dry_run"
pipe "bundle clean"

bundle config --delete удалить конфигурацию (обратите внимание на подчеркивание) и по умолчанию dry-run - false.