gpt4 book ai didi

haskell - 升级安装在/usr/bin 上的 Haskell 程序版本的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-01 01:06:23 26 4
gpt4 key购买 nike

我有 Alex 的 3.0.1 版本安装在我的 /usr/bin .我认为 Haskell 平台最初是把它放在那里的(虽然我不是 100% 确定......)。

不幸的是,版本 3.0.1 是 bugged所以我需要将它升级到 3.0.5。我尝试使用 cabal 安装最新版本的 Alex 但 cabal install alex-3.0.5它在 .cabal/bin 上安装了可执行文件在我的主文件夹而不是 /usr/bin
我是否只是手动将可执行文件复制到 /usr/bin ? (这听起来总是很麻烦)

我是否更改了我的 PATH 环境变量,以便 .cabal/bin出现在 /usr/bin 之前? (我担心 cabal 文件夹上的“ls”可执行文件或类似文件可能最终会弄乱我的系统)

或者一般来说有没有更简单的方法?

最佳答案

我想首先指出适合我的布局,然后建议您在特定情况下如何进行。

什么对我有用

一般来说,我认为更好的布局是具有以下搜索路径:

  • 包含重要的非 Haskell 相关二进制文件的目录
  • cabal install 的目录安装到
  • 来自 Haskell 平台的二进制文件位于
  • 的目录

    这样,您可以使用 cabal install从 Haskell 平台更新二进制文件,但它们不会意外地影响一些非 Haskell 相关的二进制文件。

    (在我的Windows机器上,这种布局很容易实现,因为Haskell平台的二进制文件默认安装在单独的目录中。所以我只是手动调整搜索路径就可以了。我不知道如何实现它在其他平台上)。

    针对您的特殊情况的建议

    在您已经安装了 Haskell 平台二进制文件和非 Haskell 相关二进制文件的特定情况下,也许您可​​以对搜索路径使用以下布局:
  • 包含指向 3
  • 中某些二进制文件的链接的目录
  • 包含重要的非 Haskell 相关二进制文件和 Haskell 平台二进制文件的目录
  • cabal install 的目录安装到。

  • 这样,来自 cabal install 的二进制文件不能意外隐藏 2 中的重要内容。但是如果您决定要从 Haskell 平台中隐藏某些内容,您可以手动添加到 1 的链接。如果它是软链接(soft link),我认为您只需为每个程序名称执行一次,然后您可以调用 cabal install以便该程序对其进行更新。您甚至可以查找与 Haskell 平台捆绑在一起的可执行文件,并一劳永逸地完成这项工作。

    关于haskell - 升级安装在/usr/bin 上的 Haskell 程序版本的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18456528/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com