Haskell 如何将YesSOD升级到最新版本?

Haskell 如何将YesSOD升级到最新版本?,haskell,ubuntu,yesod,Haskell,Ubuntu,Yesod,在我做了一个 cabal install yesod 我做了一个测试 yesod version 但它输出0.10.2.1。我认为最新版本是1.3 如何升级到最新版本?我试图在Ubuntu服务器上设置YesSOD。要处理安装的软件包,有ghc pkg,所以要删除YesSOD ghc-pkg unregister yesod 这不会删除可执行文件,所以 rm ~/.cabal/bin/yesod 然后更新包列表 cabal update 然后cabal install将选择与您的ghc版

在我做了一个

cabal install yesod
我做了一个测试

yesod version
但它输出0.10.2.1。我认为最新版本是1.3


如何升级到最新版本?我试图在Ubuntu服务器上设置YesSOD。

要处理安装的软件包,有ghc pkg,所以要删除YesSOD

ghc-pkg unregister yesod
这不会删除可执行文件,所以

rm ~/.cabal/bin/yesod
然后更新包列表

cabal update
然后cabal install将选择与您的ghc版本兼容的最新版本(基于“基本”包依赖关系)(如果我没有错的话)


将cabal安装的软件包添加到您的路径:

export PATH="$HOME/.cabal/bin":$PATH
进入终点站

这意味着您可以将YesSOD作为
YesSOD
运行,而不是:

~/.cabal/bin/yesod

路径中是否有
~/.cabal/bin
目录?如果没有,您可以在那里找到最新版本,但是shell只在
/usr[/local]/bin
中找到最新版本。如果是,您安装了什么版本的cabal,以及cabal install-v2 yesod--dry run说了什么?Daniel Fischer的评论似乎有道理。也许一个带有
的查询会告诉你它在哪里找到二进制文件…~/.cabal/bin不在我的路径中,所以我添加了它。当我这么做的时候,它返回了旧版本。我删除了那个文件,所以现在当我这么做的时候,它不会返回任何东西。然而,如果我安装了yesod,它会告诉我1.1.2版已经安装。有什么想法吗?在将它添加到路径后,您是否启动了一个新的shell?或者导出新路径?我两者都做了,但是我仍然得到“程序'yesod'当前未安装。你可以通过键入:sudo apt get install yesod”来安装它。当我键入“yesod”时,我遵循了这些步骤,yesod显然安装正确,但我收到了消息“当前未安装程序'yesod'。您可以通过键入:sudo apt get install yesod来安装它“。当我回显$PATH时,~/.cabal/bin不在那里。我想现在的问题是如何在Ubuntu中将它永久添加到我的路径中。。。然而,当我浏览到~/cabal/bin时,它不应该工作吗?出于某种原因,它会给我同样的错误。@DiegoSaa要将它永久地放入路径中,请将它添加到
.bashrc
.bash\u profile
中的路径(如果尚未出现),以Ubuntu使用的为准。类似于if[-z
/bin/echo${PATH}|/usr/bin/grep cabal`]\n然后\n export PATH=/home/diego/.cabal/bin:$PATH\nfi`(“\n”应该是实际的换行符,并替换为“diego”不管你的用户名是什么。但是如果调用
~/.cabal/bin/yesod
可以检查你的cabal是否安装了一个工作二进制文件,也可以尝试一下。
~/.cabal/bin/yesod