Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在OSX El Capitan上运行Haskell_Macos_Haskell - Fatal编程技术网

Macos 如何在OSX El Capitan上运行Haskell

Macos 如何在OSX El Capitan上运行Haskell,macos,haskell,Macos,Haskell,我昨天刚升级到MacOSX El Capitan,发现我用来在终端上运行Haskell的方法已经不起作用了 我曾经在终端上运行Haskell,方法是键入cd(我的.hs文件所在的路径),然后键入ghci,最后键入:l(.hs文件名) 但它告诉我键入ghci时未找到-bash:ghci:command 那我怎么能在El Capitan上运行Haskell?我不熟悉计算机,只是偶尔为了好玩而学习一些算法,所以请避免使用技术术语,并给我一些明确的步骤 (我不知道它是否有用,我发现了这一点,它表明没有必

我昨天刚升级到MacOSX El Capitan,发现我用来在终端上运行Haskell的方法已经不起作用了

我曾经在终端上运行Haskell,方法是键入
cd(我的.hs文件所在的路径)
,然后键入
ghci
,最后键入
:l(.hs文件名)

但它告诉我键入
ghci
时未找到
-bash:ghci:command

那我怎么能在El Capitan上运行Haskell?我不熟悉计算机,只是偶尔为了好玩而学习一些算法,所以请避免使用技术术语,并给我一些明确的步骤


(我不知道它是否有用,我发现了这一点,它表明没有必要重新安装整个平台,但我不知道如何下载和运行它从github附带的可执行文件。)

Haskell曾经将自己安装到
/usr/bin
,这与El Capitan中的新安全功能不兼容。因此El Capitan安装程序只是删除了
/usr/bin
中不属于那里的所有内容

中的新Haskell安装程序提供了一种替代方法,可以正确安装到正常的
/usr/local/bin
路径。你可以用它。以下是说明:

  • 下载
  • 右键单击并选择“打开”
  • 在对话框中再次选择“打开”
  • 如果您不想重新安装整个Haskell平台,只需从同一帖子运行即可,例如,使用以下命令:

    curl -fsSL https://raw.githubusercontent.com/mzero/haskell-platform/master/hptool/os-extras/osx/bin/activate-hs | sh
    

    在安装之前,我需要创建/usr/local/bin和/usr/local/share。

    如果在升级之前安装了Haskell,则无需重新安装

    出于某种原因,其他解决方案中提到的
    激活hs
    脚本试图在
    /usr/bin
    /usr/share
    中创建符号链接,但由于SIP的原因,该脚本将失败(我不明白为什么脚本会这样做)

    但是,可以很容易地修改此脚本,以在
    /usr/local/
    中创建符号链接。我已经将该脚本的一个编辑版本(参见第283到289行)

    如果您懒惰且盲目相信我,您可以运行以下命令:

    curl -fsSL https://gist.githubusercontent.com/johnjcamilleri/1ed5db5eb4bd26a97afb/raw/654eda72af4cdb6f47f4fad3c7d7823449716007/activate-hs | sudo sh
    

    我真的很喜欢Haskell的Mac


    一个很好的Haskell IDE用于Mac。无需配置、软件包管理等。

    @jaket我键入了
    /ghci
    ,得到了相同的结果
    -bash:。/ghci:没有这样的文件或目录
    @zenith我从8月份下载了一个软件包,安装后就没事了。我也遇到了类似的问题。看起来符号链接不是在/usr/bin中创建的,但您只能在/Library/Frameworks/GHC.framework/Versions/7.10.2-x86_64/usr/bin/I中找到二进制文件。我记得我还从app store为Xcode安装了一些
    命令行工具(OSX 10.10)以便运行。我复制并粘贴了
    curl-fsSL…|sh
    在终端中,但它说
    您必须是root才能激活特定的Haskell平台。请重新运行此命令sudo:sudo sh
    sh
    替换为
    sudo sh
    。它显示
    警告:不当使用sudo命令可能导致数据丢失或删除重要的系统文件。使用sudo时,请仔细检查您键入的内容。有关详细信息,请键入“man sudo”。要继续,请输入密码,或键入Ctrl-C中止。
    是否可以?我有点害怕,因为我不知道我在做什么。是的,警告是正确的,当你不知道自己在做什么时,你不应该使用
    sudo
    。如果可能的话,从头开始重新安装整个Haskell平台以避免
    sudo
    。我只是尝试将curl命令管道化到
    sudo sh
    ,它尝试将所有符号链接添加到
    /usr/bin/
    ,所以这不是一个完整的解决方案。从脚本中看,似乎不容易修改为使用
    /usr/local
    而不是
    /usr