【发布时间】:2013-08-19 20:52:09
【问题描述】:
我正在按照说明安装 Haskell 的 snap 框架:
http://janrain.com/blog/tutorial-building-a-sample-application-with-haskell-snap-postgresql-and-the-postgresql-simple-snaplet/
执行时
snap init
我获得了-bash: snap: command not found(在 Mac OSX 上),并且在安装 snap 后我确实打开了一个新的终端窗口。二进制文件安装在
/Users/<USER NAME>/Library/Haskell/ghc-7.6.3/lib/snap-0.12.1/bin
当snap init 以此路径开头时,快照也可以正常工作。不过这张票
(对于 windows cabal 安装程序)
http://trac.haskell.org/haskell-platform/ticket/175
建议这不应该发生。当 cabal 安装一个新包时,它应该将正确的目录添加到路径环境中。运行 set | grep "snap" 或 set | grep "cabal" 不会返回任何内容。关于如何(自动)将正确的目录添加到 PATH 环境以供将来安装的任何想法?
【问题讨论】:
-
通常 Cabal 将可执行文件安装在
~/.cabal/bin(或/usr/local/bin用于全局安装)中,而不是在特定于包的目录中。您所指的票证谈到添加单个目录,大致相当于~/.cabal/bin,%PATH%。在 UNIXy 系统下,你应该自己做。你的~/.cabal/config在install-dirs user和install-dirs global下说什么? -
已解决:Cabal 在 $HOME/Library/Haskell/bin 中创建指向二进制文件的链接,并将
export PATH="$HOME/Library/Haskell/bin:$PATH"添加到.bash_profile可解决此问题。 -
@n.m:感谢您的快速回复。对不起,我没有看到你的评论。 '~/.cabal/config' 确实说:您可能希望通过将以下行添加到您的 ~/.bash_profile 来将它放在您的 PATH 中:export PATH="$HOME/Library/Haskell/bin:$PATH"。这解决了问题。 (安装目录是用户)
标签: haskell path cabal haskell-snap-framework