2015-05-22 1 views
3

У меня есть приложение в песочнице. Кабальные зависимости не имеют ограничений, поэтому cabal install --only-dependencies дает мне последние пакеты. По прошествии определенного периода времени я хочу, чтобы мои зависимости зависели от последних версий, но до этого я хочу посмотреть, какие зависимости фактически изменены на более новую версию. Я могу проверить их все вручную. Но я предпочел бы увидеть хороший список вещей, которые будут обновлены.Зависимости обновления

Я предполагаю, что cabal install --upgrade-dependencies --only-dependencies --dry-run - это способ сделать это. Я бы ожидал, что он предоставит мне список всех пакетов, которые находятся на более новой версии, чем тот, который находится в моей песочнице. Но это никогда не срабатывает! Я имею в виду, он просто говорит, что все зависимости обновлены, когда их явно нет. Я что-то делаю неправильно или что-то не понимаю?

Если я полностью уничтожу свою песочницу, перезапустите cabal install --only-dependencies и отмените файлы замораживания, после чего я смогу увидеть, какие пакеты наткнулись. Но это глупо. Итак, как я могу получить cabal install --upgrade-dependencies --only-dependencies --dry-run для правильной работы и распечатать все пакеты, которые будут обновлены без использования песочницы? Объявление, если эти параметры не работают в cabal, почему их просто не удаляют, чтобы избежать путаницы?

спасибо.

+0

Возможный дубликат (? - ну, может быть, не 100%) и/или это может помочь вам: https://stackoverflow.com/questions/6905163/whats-the-best-workaround-for-not-having-cabal -upgrade – Carsten

+0

Нет, это не дубликат. Он вообще не отвечает на вопрос. Я знаю, что могу делать трюки с sed, bash, ruby, а что нет. Мой вопрос о кабале. –

ответ

1

Вы можете использовать cabal list --installed и сравнить «Доступная версия по умолчанию» с «Установленные версии».

К сожалению, коммутатор --simple-output cabal не включает эту информацию, поэтому для ее автоматизации вам понадобится небольшой скрипт.