Haskell 将已安装的ghc和所有软件包复制到另一台机器上

Haskell 将已安装的ghc和所有软件包复制到另一台机器上,haskell,ghc,gloss,Haskell,Ghc,Gloss,我面临一个特殊的问题。在这里的高中,我有大约10台电脑(都是相同类型的,相同类型的cpu,相同类型的内存等)捐赠,现在运行的Debian后重新安装。我试着教学生一些哈斯凯尔语,我自己学的很少。孩子们很感兴趣。一个问题是我们的国家是第三世界,互联网速度很慢,成本很高。基本ghc和ghci I使用deb软件包(通过使用apt rdepends找到)安装在所有机器上,在使用有限时间免费互联网连接仅在一台机器上下载所有deb文件之后。下载丢失的所有ghc deb文件花费了10多个小时 我想知道这样的诡计

我面临一个特殊的问题。在这里的高中,我有大约10台电脑(都是相同类型的,相同类型的cpu,相同类型的内存等)捐赠,现在运行的Debian后重新安装。我试着教学生一些哈斯凯尔语,我自己学的很少。孩子们很感兴趣。一个问题是我们的国家是第三世界,互联网速度很慢,成本很高。基本ghc和ghci I使用deb软件包(通过使用apt rdepends找到)安装在所有机器上,在使用有限时间免费互联网连接仅在一台机器上下载所有deb文件之后。下载丢失的所有ghc deb文件花费了10多个小时

我想知道这样的诡计对阴谋集团是否可行?我会在一台计算机上下载所有需要的tar或其他文件一次,使用昂贵且缓慢的互联网,但我不想花费所有的钱从互联网下载所有10台计算机

我想给孩子们看图表和光泽度套装,因为它既有趣又有趣。 我从中受到启发 我该怎么做?除了图表和光泽度外,还有其他软件包吗?
谢谢你,很抱歉我的英语不好。

过去我这样做是为了让GHC和阴谋集团在防火墙后面的机器上工作,而“阴谋集团安装”无法穿透

您可以使用“wget”下载每个黑客软件包的最新版本。(或者您可以尝试对Stack执行类似的操作,但我还没有尝试过)。也可以下载,这是索引文件


安装GHC、cabal和cabal Install,然后找到cabal安装配置文件,并将其指向包含index.tar.gz包和下载包的存档的本地存储库。然后,希望您会发现“cabal安装”将从本地存储库中运行。

默认情况下,cabal缓存它下载到
~/.cabal/packages
(除非您明确请求重新获取,否则它的缓存优先于重新获取包)。因此,在计算机之间复制该目录应该足够简单

这仍然需要您在每台机器上构建所有包。如果您更愿意跳过这一步,可以考虑直接将GHC的包数据库复制到每台机器上。这有点微妙,但可以节省相当多的时间/电源


默认情况下,全局软件包数据库(您应该在其中安装希望在用户之间共享的软件包)位于
/usr/local/lib/ghc-$version
中,并且您应该能够将该目录复制到所有计算机上。您可以使用
ghc pkg list
检查您是否已将所需的软件包安装到全局数据库中,该列表将列出所有已安装的软件包/版本组合,并根据它们是安装在全局软件包数据库中还是安装在用户软件包数据库中进行分隔。

请查看此处:谢谢。我看到了,它只告诉下载一个包,但没有依赖性。有没有一种方法可以使用cabal来了解图表的依赖性?我想你要做的是将
$HOME/.cabal/packages/hackage.haskell.org
复制到其他机器上。