“Yesod开发” devel.hs 中的 fromJust 失败
当我运行“yesod devel”时,它显示“devel.hs: Maybe.fromJust: Nothing
yesod init # created a project bbbb
...
cabal install && yesod devel
...
Registering bbbb-0.0.0...
Starting development server...
Starting devel application
devel.hs: Maybe.fromJust: Nothing
并且 Web 服务器没有侦听端口(我无法在浏览器中打开该网站)
有谁知道如何解决此问题?
我的环境:
- yesod -0.9.4.1
- 光荣的 Glasgow Haskell 编译系统,版本 7.0.3
- Mac OS X 10.6.8
这里是 dist/devel.hs,其中“yesod init”创建:
{-# LANGUAGE PackageImports #-}
import "bbbb" Application (withDevelAppPort)
import Data.Dynamic (fromDynamic)
import Network.Wai.Handler.Warp
(runSettings, defaultSettings, settingsPort, settingsHost)
import Data.Maybe (fromJust)
import Control.Concurrent (forkIO)
import System.Directory (doesFileExist, removeFile)
import System.Exit (exitSuccess)
import Control.Concurrent (threadDelay)
main :: IO ()
main = do
putStrLn "Starting devel application"
wdap <- (return . fromJust . fromDynamic) withDevelAppPort
forkIO . wdap $ \(port, app) -> runSettings defaultSettings
{ settingsPort = port
, settingsHost = "0.0.0.0"
} app
loop
loop :: IO ()
loop = do
threadDelay 100000
e <- doesFileExist "dist/devel-terminate"
if e then terminateDevel else loop
terminateDevel :: IO ()
terminateDevel = exitSuccess
我上传了 bbbb 目录中的所有文件,Application.hs 是 https://github.com/suztomo/LanguageStudy/blob /master/Haskell/Yesod/bbbb/Application.hs 。
When I run "yesod devel" it says "devel.hs: Maybe.fromJust: Nothing
yesod init # created a project bbbb
...
cabal install && yesod devel
...
Registering bbbb-0.0.0...
Starting development server...
Starting devel application
devel.hs: Maybe.fromJust: Nothing
And the web server is not listening the port (I cannot open the site in my browser)
Does anyone know how to fix this?
My environment:
- yesod-0.9.4.1
- The Glorious Glasgow Haskell Compilation System, version 7.0.3
- Mac OS X 10.6.8
Here is dist/devel.hs, which "yesod init" created:
{-# LANGUAGE PackageImports #-}
import "bbbb" Application (withDevelAppPort)
import Data.Dynamic (fromDynamic)
import Network.Wai.Handler.Warp
(runSettings, defaultSettings, settingsPort, settingsHost)
import Data.Maybe (fromJust)
import Control.Concurrent (forkIO)
import System.Directory (doesFileExist, removeFile)
import System.Exit (exitSuccess)
import Control.Concurrent (threadDelay)
main :: IO ()
main = do
putStrLn "Starting devel application"
wdap <- (return . fromJust . fromDynamic) withDevelAppPort
forkIO . wdap $ \(port, app) -> runSettings defaultSettings
{ settingsPort = port
, settingsHost = "0.0.0.0"
} app
loop
loop :: IO ()
loop = do
threadDelay 100000
e <- doesFileExist "dist/devel-terminate"
if e then terminateDevel else loop
terminateDevel :: IO ()
terminateDevel = exitSuccess
I uploaded all files in bbbb directory and Application.hs is
https://github.com/suztomo/LanguageStudy/blob/master/Haskell/Yesod/bbbb/Application.hs .
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
黑暗中的答案:检查你的 cabal 文件,你正在使用 yesod-default 0.5。
A shot in the dark answer: check in your cabal file that you're using yesod-default 0.5.