2015-02-15 3 views
5

У меня есть машина, у которой нет доступа к интернету вообще.
Я установил платформу Haskell на нем, используя установщик, который я получил с другой машины через pendrive.Установите пакеты Haskell с помощью cabal без подключения к Интернету

Теперь я хочу установить пакет repa на мою домашнюю машину, у которой нет доступа в Интернет. Как мне это сделать?

Мой домашний компьютер работает под управлением Linux (Debian) и мой офис машина является для Windows 7.

ответ

8

Из машины вы можете получить доступ к Интернету, вы можете либо:

  • Run cabal get pkg-name где pkg-name это пакет, который вы хотите.
  • Перейдите на страницу с пакетом услуг Hackage и в разделе «Загрузка» есть файл .tar.gz, который вы можете скачать.

После того, как вы его доставите, переведите его на другую машину, извлеките ее в любом месте (песочницу, если вы хотите ее просто в песочнице). Затем из этого каталога (где есть файл .cabal) запустите cabal install.

+1

Есть ли быстрый способ найти зависимости пакета и загрузить их, или это нужно сделать вручную? – DNA

+1

@DNA Не знаю, что я знаю, но написать инструмент для этого должно быть очень легко, так как Cabal также находится в Hackage. Вы можете получить пакет (как хотите, например, вы можете называть 'cabal get' с помощью' System.Process'), а затем просто используйте пакет Cabal для анализа файла cabal, а затем просто рекурсивно выполните то же самое для зависимостей пакетов. – MasterMastic

1

Менеджеры пакетов, такие как cabal, работа внутри страны, чтобы получить пакет из удаленного хранилища. Я сомневаюсь, что есть простой способ обхода решения для установки пакета в автономном режиме.

Возможно, самый простой способ - найти сжатую версию пакета, найти способ получить их на автономном компьютере (местный общий доступ, флэш-накопитель и т. Д.) И install a package manually.

+1

Нет никакой страшной трудности с тем, чтобы Cabal установил пакет в автономном режиме, пока пакет и все его зависимости локально доступны. – dfeuer

Смежные вопросы