我最近升级到Ubuntu 18.04,删除了我旧磁盘上的所有内容,包括Haskell平台。然后我做了以下操作,以便在我的磁盘上获得Haskell平台:
sudo apt-get install haskell-platform
(实际上,我认为在Ubuntu 18.04中你真的不需要"得到"但无论如何它仍然有用。所以我想我刚进入我的终端:
sudo apt install haskell-platform
)
然后我注意到我安装的版本是版本8.0.2,这不是该平台的当前版本。所以我访问了www.haskell.org并下载并安装了当前版本的平台,版本为8.4.2。现在我有两个不同版本的Haskell平台,一个来自官方网站,另一个来自Ubuntu存储库。 (Ubuntu存储库中的那个有点过时了。)
那是"活跃的"是我最后安装的版本,版本是8.4.2。因此,如果我在终端中输入ghci
,我会得到ghci版本8.4.2。如果我想要旧版本,那么我可以执行以下操作:
/usr/bin/./ghci-8.0.2
并启动稍微旧版本的交互式解释器。
保留这两个版本有什么危害吗?如何安全地删除我从Ubuntu的存储库中安装的版本?如果我这样做,那么我是否必须从Haskell的官方网站www.haskell.org/重新安装Haskell平台?我应该保留它们吗?
答案 0 :(得分:0)
在devops方面有一些经验,我建议你先摆脱两者。即使它现在可以正常工作,但在升级时最有可能导致问题,因为这种安装绝对不是它应该如何工作,因此不受支持。
再次获得一个干净的平板,你可以通过你喜欢的方式获得最新的Haskell平台,或者只使用Haskell Stack,这是我每天使用的东西,非常满意并且是一个强烈的倡导者。
除了作为Haskell版本管理器之外,Stack还在所谓的LTS'es中维护一组兼容的库,并通过将某个版本的Haskell和一组库固定到源来帮助您避免Cabal Hell并获得可重现的构建码。因此,随着世界的发展,您仍然可以对项目使用的GHC和库版本进行有意识的控制,并且即使在开发它之后的几年内,也可以通过接近零的额外工作来构建它。