2015-01-27 1 views
1

Я написал пакет, который я пытаюсь построить. По причинам, я не хочу устанавливать его на свой ноутбук. Я хочу загрузить все его зависимости и установить его на другой компьютер. Как я могу это сделать? Если я заведуюВзаимозависимости каббала для текущего пакета

$ cd my-package 
$ cabal fetch . 

cкачать говорит no packages requested. Если я

$ cabal fetch my-package.cabal 

это читать Кабал файл, но он на самом деле пытается загрузить пакеты, которые не существуют на hackage, но в моей песочнице.

+0

Где вы хотите выполнить компиляцию - на компьютере или на другом компьютере? – ErikR

ответ

2

Вы можете попробовать это:

cabal fetch `cabal install --dependencies-only --dry-run | sed 1,2d` 

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

Не являются ли инструменты * nix отличными?

+0

Это очень близко, но мне пришлось настроить команду 'sed'. Спасибо! – nomen

+1

Настроить его на что? –

+0

@IvanPerez Просто запустите 'cabal install -dependencies-only -dry-run' и получите результат на глаз. Большинство строк будут иметь имя пакета и номер версии, например 'my-great-package-3.2.0.0', но будет несколько строк, которые явно не соответствуют этому шаблону. Используйте любой инструмент, который вам удобен, чтобы вырезать эти строки. –