Unix 如何安装GHC 7.8.1并为其分配不同的命令?
我希望安装GHC 7.8.1,但希望为其分配不同的命令,以免与7.6.3冲突。例如: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,所以如果有更直接的方法,请告诉
./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
- 等等
注意:Ubuntu 13.10因为您使用的是类unix系统(Ubuntu),所以可以执行以下操作:
$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的不同子目录中