【问题标题】:choose Linux distribution for Haskell development [closed]为 Haskell 开发选择 Linux 发行版 [关闭]
【发布时间】:2010-12-06 20:06:47
【问题描述】:

哪个 Linux 版本最适合 Haskell 开发?我想安装 ghc 并在其中编译 Leksah。 我现在正在使用 CentOS,但它的存储库不够丰富和新鲜。

【问题讨论】:

    标签: linux haskell distribution


    【解决方案1】:

    我发现 Gentoo 上的 Haskell 支持非常好。

    无论此处发布了关于 Gentoo 的任何过时信息,当前的 Gentoo 树都包括 2014.2 Haskell 平台。

    • 有一个page on the Gentoo wiki 有非常清晰的说明。相比之下,我发现 Arch wiki 页面相当混乱。
    • Haskell 包的安装是使用 Gentoo 包管理器 Portage 完成的。它比 cabal 更方便使用,并且可以防止cabal hell。
    • 如果您激活Haskell Overlay,您将能够安装来自 Hackage 的大多数软件包。
    • 使用Hackport 安装不在Gentoo 树或Haskell 覆盖层中的软件包非常简单。它从 Haskell 包创建一个 Gentoo 包,然后您可以像安装任何其他包一样将其安装在您的系统上。
    • 一个名为haskell-updater 的工具可确保您所有的 Haskell 包都有兼容的版本。
    • 有一个 IRC 频道 #gentoo-haskell,您可以在其中获得有关 Gentoo 特定 Haskell 问题的所有帮助。

    【讨论】:

      【解决方案2】:

      我打算检查NixOS。它有一个纯功能的package manager(支持多个版本和回滚),它是由 Haskell 程序员开发的,它有一些 Haskell 包。

      就包的数量而言,它可能不是最完整的,但它似乎对 Haskellers 来说非常有趣。

      【讨论】:

        【解决方案3】:

        这取决于你的机器有多少内存。 人们face problems 在具有 512MB RAM 和小型交换分区的机器上使用 GHC,例如 EeePC 或 VPS/VDS 机器(来自 host1free.com,f.e.)。

        如果您的 RAM 少于 1GB,那么我建议您在 Gentoo 上使用 splitobjs=NO(和 Gentoo does this automatically for machines with 512Mb of RAM or less)编译 GHC。否则,您可以坚持使用 Archlinux 或您喜欢的任何其他 Linux 发行版。

        HaskellWiki 有一个page devoted to rife Linux Distributions 和他们的 Haskell 支持频道。

        【讨论】:

          【解决方案4】:

          在 Debian 和 Ubuntu 上,您可以非常轻松地安装 Haskell.. 你只需要在终端上输入一些命令,剩下的就交给它了..

          只需点击此链接,它是关于“在 linux 上安装 Haskell”.. 该链接仅指向我的博客..我认为这会有所帮助..

          http://akashjagdhane.blogspot.in/2013/02/installing-all-packages-of-haskell-so.html

          【讨论】:

          • 尽管发布链接很好,但通常避免它们,以防目标站点无法访问或永久离线。没有错,只是说最好在这里发布答案而不是重定向到其他地方。
          【解决方案5】:

          我使用的是 Arch Linux,虽然 Haskell 得到了很好的支持,并且有很多软件包大多是最新版本,但版本和依赖项存在问题。

          一个典型的 Haskell 包依赖于其他几个包。例如,它可能取决于版本 1.0.1。另一个包所依赖的一个或多个包已经更新到“1.0.2”,从而打破了对“1.0.1”版本的依赖,这是极其常见的。

          如果您尝试安装位于金字塔状依赖关系树中较高位置的 Haskell 包,例如 GUI 应用程序或游戏,您可以确定它只能安装几个几天一次,直到安装失败,因为用于变形 monads 的晦涩软件包已从 3.0.4 版本更新到 3.0.5。

          此外,拥有所有 Haskell 包的“arch-haskell”团队而不是 AUR 的受信任用户或普通用户的整个想法是一个糟糕的想法,因为与替代方案相比,他们更新包的速度很慢.我怎么不知道为什么对 Haskell 包的处理方式有一个例外,因为这在 Arch Linux 中并不常见。

          我遇到过这样的情况,使用 Haskell 包修复神秘的编译问题的唯一方法是卸载然后重新安装所有 Haskell 依赖项,包括 ghc。

          总而言之,Arch 非常适合 Haskell 开发,但是当您不只是在依赖金字塔中安装低端的包时,很容易陷入损坏包的海洋。这通常是由于次要版本号不兼容,而不是代码不兼容。

          我喜欢 Arch Linux 和 Haskell,但仍然认为这是个问题。

          更新 #1:Arch 不再拥有拥有所有 haskell 包的“arch-haskell”团队,现在应该是各地 Haskell 开发人员的首选。

          更新 #2:我不认为版本问题是 Arch 特有的问题,而是 Haskell 包如何相互依赖的问题。一个可以依赖特定函数的特定版本而不是依赖库的系统可能会有所帮助。

          【讨论】:

            【解决方案6】:

            实际上,您不必选择特定的,只要您使用的至少提供了可用的 Haskell 解释器/编译器之一(Hugs、GHC 等)和 cabal/darcs(您需要一个他们从巨大的 HackageDB 或 darcs 存储库中挑选一些有用的库/工具)。我曾经考虑过同样的问题,但后来当我知道如何使用 cabal/darcs 找到我需要的东西时,我发现你的选择几乎无关紧要。虽然我更喜欢 Arch、Ubuntu、Fedora(或上面提到的其他发行版)。

            【讨论】:

              【解决方案7】:

              Haskell 平台 2009.2.0.1 在 Fedora 11 中。
              Haskell 平台 2009.2.0.2 在 Fedora 12 中。
              Haskell Platform 2009.2.0.2.1 在 Debian Unstable 中,应该会在一周左右迁移到 Testing。
              Haskell Platform 2009.2.0.2 在 Gentoo 测试中被屏蔽。
              Arch Linux 可能是最全面的,将近 90% 的 Hackage 打包在 AUR 中。

              【讨论】:

              • 这正是评估 Haskell 使用哪个发行版的正确方法。首先,询问提供了哪个版本的 Haskell 平台(如果有)。其次,询问提供了多少额外的 Hackage 包。对于初学者来说,绝对唯一关心的是该平台是否受支持——现在它已得到广泛支持。
              • 在 Gentoo 上,从 2012 年到 2014 年的所有 Haskell 平台都可用。我不知道为什么一个过时的平台是相关的。
              【解决方案8】:

              通常,存储库面向“一般”案例,而不是高端用户。根据您自己的要求从源代码构建 ghc,您可能会获得更多好处。

              您可能想查看非标准存储库,看看其他 Haskell 爱好者是否已经为您完成了这项工作。

              【讨论】:

                【解决方案9】:

                我正在学习 Haskell,我正在使用 Ubuntu,它非常好且稳定。

                问候。

                【讨论】:

                  【解决方案10】:
                  • Fedora 通常包含更多最新的 [前沿] 软件。它包含与 centos 相同的工具(yum、rpms 等),因此如果您熟悉 CentOS,它可能会更自然。
                  • Mint 是 Ubuntu 的一个非常好的衍生物。这是我最喜欢的发行版 ATM。

                  【讨论】:

                    【解决方案11】:

                    我当前的发行版 Arch Linux 广泛支持 Haskell。

                    您可以看到直接可用的 haskell 包的状态here(在撰写本文时,有 1370 个包可用)。还有一个 wiki page 关于 Arch Linux 中的 Haskell 包。

                    【讨论】:

                    • +1 为 Arch 提供强大的 haskell 支持。但请注意,Arch 不适合胆小的人,并且通常需要对配置文件进行更多调整,而不是对用户更友好的发行版(redhat、ubunto、suse)。
                    • +1 最好的 Haskell 支持发行版。在 irc.freenode.net 上甚至还有一个用于 #archhaskell 的 irc 频道!
                    • @nimrodm Haskell 也不适合胆小的人!
                    【解决方案12】:

                    不确定 Haskell 的具体情况,但我发现 Ubuntu 保持最新状态,但更重要的是它们倾向于强调稳定性。如果您正在进行 Haskell 开发,我认为您更喜欢稳定性而不是尖端软件...

                    【讨论】:

                    • 我玩了一些 Haskell(虽然没什么大不了的),但 Ubuntu 运行良好。
                    猜你喜欢
                    • 1970-01-01
                    • 2010-09-14
                    • 1970-01-01
                    • 1970-01-01
                    • 2010-09-07
                    • 2013-06-30
                    • 2010-09-07
                    • 2017-01-18
                    • 1970-01-01
                    相关资源
                    最近更新 更多