Macos 如何在OSX El Capitan上运行Haskell
我昨天刚升级到MacOSX El Capitan,发现我用来在终端上运行Haskell的方法已经不起作用了 我曾经在终端上运行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?我不熟悉计算机,只是偶尔为了好玩而学习一些算法,所以请避免使用技术术语,并给我一些明确的步骤 (我不知道它是否有用,我发现了这一点,它表明没有必
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
路径。你可以用它。以下是说明:
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
。