【问题标题】:how to iterate in snap framework without cabal install如何在没有 cabal 安装的情况下迭代 snap 框架
【发布时间】:2012-04-08 05:36:16
【问题描述】:

我喜欢 snap 框架,但我讨厌在我想尝试的每次迭代(微小的代码更改)中运行“cabal install”。

是否有快速迭代的替代方案?

【问题讨论】:

  • 这里的“迭代”和“迭代”是什么意思?你的意思是“升级”吗?

标签: haskell haskell-snap-framework


【解决方案1】:

Yesod 提供yesod devel 自动重新加载代码更改。我不知道 snap 中有类似的功能,但他们很可能可以重用大部分执行此操作的 Yesod 代码。

鉴于Snap.Loader.Devel 的存在,我猜他们可能已经提供了您所要求的东西,但我找不到有关如何使用它的文档。 FAQ 问题How do I run my app in development mode 仍然需要cabal install;从文档中不清楚您是否只需要这样做一次,或者每次代码更改时都需要这样做。

【讨论】:

    【解决方案2】:

    开始

    cabal install --reinstall -fhint snap
    

    然后,对于您的项目:

    cabal clean
    cabal configure -fdevelopment
    cabal build
    ./dist/build/projname/projname
    

    无论如何,您都不应该将cabal install 用于您不希望能够从任意位置执行的二进制文件。你应该使用cabal build 来处理你只想在本地运行的东西。

    当您更改 Main.hs 或项目的 .cabal 文件时,您需要运行 cabal build 并重新启动程序。

    如果您有任何其他问题,请发表评论 - 我是实现此功能的人 快拍。

    【讨论】:

    • 另外,如果您没有使用开发模式构建应用程序,您可以使用 curl http://127.0.0.1:8000/admin/reload 之类的内容手动重新加载应用程序。即使您没有使用开发模式构建应用程序,这也是可用的。有关最近的讨论,请参阅 groups.google.com/forum/?fromgroups#!topic/snap_framework/…
    • 从 snap 0.9 开始,您无需使用 -fhint 重新安装 snap
    猜你喜欢
    • 2011-12-31
    • 2019-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 2020-09-24
    • 2012-07-23
    • 2019-08-04
    相关资源
    最近更新 更多