【问题标题】:Upgrading ghc to 7.0.3 breaks wai-handler-devel将 ghc 升级到 7.0.3 会破坏 wai-handler-devel
【发布时间】:2011-06-30 02:32:10
【问题描述】:

我正在 Yesod 框架上开发一个 web 应用程序,使用 wai-handler-devel 来运行服务器。

pacman -Syu(在 Arch Linux 上)将 ghc 从 7.0.2 升级到 7.0.3,现在服务器抛出异常。

$ wai-handler-devel 3000 App.Controller withAppSimple
Attempting to interpret your app...
wai-handler-devel: /usr/lib/ghc-7.0.2/package.conf.d/package.cache:
openBinaryFile: does not exist (No such file or directory)

经过一番挖掘,我意识到该文件存在于/usr/lib/ghc-7.0.3/package.conf.d/,因此我将该文件夹重命名为ghc-7.0.3,希望这至少可以暂时解决问题(直到我们的 Haskell 家伙从假期回来)。

任何关于从哪里开始的建议都会非常有帮助。谢谢!

【问题讨论】:

  • 我的意思是我将文件夹重命名为 ghc-7.0.2 当然。 =/
  • 我不熟悉 wai-handler-devel(超过 4 分钟的介绍),但是一旦你安装了一个新的操作系统,你不应该只是 cabal install wai-handler-devel 吗?如果您不知道,请尝试一下。
  • 我认为 Thomas 是对的,但您也应该 cabal install yesod。每当您升级 GHC 时,您都需要完全重建软件包数据库。

标签: haskell ghc yesod


【解决方案1】:

当您升级 ghc 版本(不仅仅是 wai-handler-devel)时,您需要重新安装所有您的软件包。你也可以删除所有旧的。

【讨论】:

  • 每个 GHC 版本都将其包保存在单独的目录中(通常为 .ghc/$ARCH-$VER/)。没有必要删除旧目录,它只会被闲置(但是请注意,wai-handler-devel 是一个二进制文件,而不仅仅是一个 GHC 库)
  • 是的,我最终也是这样做的。我没有意识到这是必要的。好在重新安装是如此容易。感谢大家。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-01
  • 1970-01-01
  • 2020-10-04
  • 2021-10-13
  • 2017-07-22
  • 1970-01-01
相关资源
最近更新 更多