Unix 如何安装GHC 7.8.1并为其分配不同的命令?

Unix 如何安装GHC 7.8.1并为其分配不同的命令?,unix,haskell,compiler-construction,build,ghc,Unix,Haskell,Compiler Construction,Build,Ghc,我希望安装GHC 7.8.1,但希望为其分配不同的命令,以免与7.6.3冲突。例如: ./configure --prefix=/opt/ghc7.8.1 sudo ln -s -T /opt/ghc7.8.1/bin/runghc /usr/local/bin/runghc7.8.1 runghc与runghc7.8.1 ghci和ghci7.8.1 等等 或类似的。(对于键入的孔,ghci将是最重要的。) 基本上,我希望能够使用GHC 7.8和7.6,所以如果有更直接的方法,请告诉

我希望安装GHC 7.8.1,但希望为其分配不同的命令,以免与7.6.3冲突。例如:

 ./configure --prefix=/opt/ghc7.8.1
sudo ln -s -T /opt/ghc7.8.1/bin/runghc /usr/local/bin/runghc7.8.1
  • runghc
    runghc7.8.1
  • ghci
    ghci7.8.1
  • 等等
或类似的。(对于键入的孔,ghci将是最重要的。) 基本上,我希望能够使用GHC 7.8和7.6,所以如果有更直接的方法,请告诉我(a-B问题)


注意:Ubuntu 13.10

因为您使用的是类unix系统(Ubuntu),所以可以执行以下操作:

  • 选择一个安装ghc所需的文件夹(例如,在主目录的子文件夹中,如
    $home/ghc7.8.1
    ,或在
    /opt
    的子文件夹中,如
    /opt/ghc7.8.1
    ,如果您是计算机的唯一用户,我会选择后一个,如果不是这样,则选择第一个)。有关unix目录结构的说明,请参阅
  • 将源代码下载到该文件夹中,然后按照以下步骤操作:

    • 另见
    • 在configure setp中,重要的是,您要将
      --前缀设置为您在上面选择的文件夹(如果不这样做,ghc将安装在您不想要的
      /usr/local/
      中)!例如:

       ./configure --prefix=/opt/ghc7.8.1
      
      sudo ln -s -T /opt/ghc7.8.1/bin/runghc /usr/local/bin/runghc7.8.1
      
  • 安装后,查找包含已创建二进制文件的文件夹(如果您没有为
    bindir
    使用其他名称,则该文件夹将被称为
    bin
    )。让我们设想这个文件夹是
    /opt/ghc7.8.1/bin

  • 现在有两种可能性:

    创建解决方案:在文件夹中创建符号链接,该文件夹位于
    $PATH
    中,指向已创建的二进制文件(例如
    /usr/local/bin
    $HOME/bin
    ),如果您是计算机上的唯一用户,我将使用第一个,如果您不是,则使用第二个。因此,您必须使用命令行工具。例如:

     ./configure --prefix=/opt/ghc7.8.1
    
    sudo ln -s -T /opt/ghc7.8.1/bin/runghc /usr/local/bin/runghc7.8.1
    
    在该命令之后,有一个文件
    /usr/local/bin/runghc7.8.1
    指向二进制文件
    /opt/ghc7.8.1/bin/runghc
    。通过键入
    runghc7.8.1
    执行
    /usr/local/bin/runghc7.8.1
    ,现在将执行
    /opt
    中创建的
    runghc
    二进制文件(注意:
    如果在
    $HOME/bin
    中创建符号链接,则不需要
    sudo
    ,因为
    root
    可以在
    /usr>下创建文件)

    解决方案包括:在您的
    $HOME/.bash\u别名中写入
    (@Others:您也可以选择
    $HOME/.bashrc
    $HOME/.profile
    ,具体取决于您的系统/首选项)以下行:

    alias runghc7.8.1='/opt/ghc7.8.1/bin/runghc'
    
    现在,在终端中键入
    runghc7.8.1
    是键入
    /opt/ghc7.8.1/bin/runghc
    的快捷方式(别名),并将执行此二进制文件


    请注意,使用此解决方案,在终端中键入
    runghc7.8.1
    即可。有些情况下,当它不工作时(例如在脚本中调用
    runghch7.8.1

    因为您使用的是类unix系统(Ubuntu),所以可以执行以下操作:

  • 选择一个安装ghc所需的文件夹(例如,在主目录的子文件夹中,如
    $home/ghc7.8.1
    ,或在
    /opt
    的子文件夹中,如
    /opt/ghc7.8.1
    ,如果您是计算机的唯一用户,我会选择后一个,如果不是这样,则选择第一个)。有关unix目录结构的说明,请参阅
  • 将源代码下载到该文件夹中,然后按照以下步骤操作:

    • 另见
    • 在configure setp中,重要的是,您要将
      --前缀设置为您在上面选择的文件夹(如果不这样做,ghc将安装在您不想要的
      /usr/local/
      中)!例如:

       ./configure --prefix=/opt/ghc7.8.1
      
      sudo ln -s -T /opt/ghc7.8.1/bin/runghc /usr/local/bin/runghc7.8.1
      
  • 安装后,查找包含已创建二进制文件的文件夹(如果您没有为
    bindir
    使用其他名称,则该文件夹将被称为
    bin
    )。让我们设想这个文件夹是
    /opt/ghc7.8.1/bin

  • 现在有两种可能性:

    创建解决方案:在文件夹中创建符号链接,该文件夹位于
    $PATH
    中,指向已创建的二进制文件(例如
    /usr/local/bin
    $HOME/bin
    ),如果您是计算机上的唯一用户,我将使用第一个,如果您不是,则使用第二个。因此,您必须使用命令行工具。例如:

     ./configure --prefix=/opt/ghc7.8.1
    
    sudo ln -s -T /opt/ghc7.8.1/bin/runghc /usr/local/bin/runghc7.8.1
    
    在该命令之后,有一个文件
    /usr/local/bin/runghc7.8.1
    指向二进制文件
    /opt/ghc7.8.1/bin/runghc
    。通过键入
    runghc7.8.1
    执行
    /usr/local/bin/runghc7.8.1
    ,现在将执行
    /opt
    中创建的
    runghc
    二进制文件(注意:
    如果在
    $HOME/bin
    中创建符号链接,则不需要
    sudo
    ,因为
    root
    可以在
    /usr>下创建文件)

    解决方案包括:在您的
    $HOME/.bash\u别名中写入
    (@Others:您也可以选择
    $HOME/.bashrc
    $HOME/.profile
    ,具体取决于您的系统/首选项)以下行:

    alias runghc7.8.1='/opt/ghc7.8.1/bin/runghc'
    
    现在,在终端中键入
    runghc7.8.1
    是键入
    /opt/ghc7.8.1/bin/runghc
    的快捷方式(别名),并将执行此二进制文件


    请注意,使用此解决方案,在终端中键入
    runghc7.8.1
    即可。有些情况下,当它不起作用时(例如在脚本中调用
    runghch7.8.1

    您想在什么操作系统上安装它?我的主目录的不同子目录中分别安装了7.8.1和7.6.3。我有一个符号链接,指向我当时想使用的任何一个。你想在什么操作系统上安装它?我有7.8.1和7.6.3都安装在m的不同子目录中