“Yesod devel”在发展中失败 [英] "Yesod devel" fails with fromJust in devel.hs
问题描述
当我运行yesod devel时,它会显示devel.hs:Maybe.fromJust:Nothing
yesod init#已创建一个项目bbbb
...
cabal install&& yesod devel
...
注册bbbb-0.0.0 ...
启动开发服务器。 ..
开始devel应用程序
devel.hs:Maybe.fromJust:Nothing
Web服务器没有监听端口(我无法在浏览器中打开网站)
有人知道如何解决这个问题吗?
我的环境:
这里是dist / devel.hs,其中创建了yesod init:
{ - #LANGUAGE PackageImports# - }
导入bbbb应用程序(withDevelAppPort)
导入Data.Dynamic(fromDynamic)
导入Network.Wai.Handler.Warp
(runSettings,defaultSettings,settings Port,settingsHost)
import Data.Maybe(fromJust)
import Control.Concurrent(forkIO)
import System.Directory(doesFileExist,removeFile)
import System.Exit(exitSuccess)
import Control.Concurrent(threadDelay)
$ b $ main :: IO()
main = do
putStrLn启动devel应用程序
wdap< - (回报。来自Just。 fromDynamic)withDevelAppPort
forkIO。 wdap $ \(port,app) - > runSettings defaultSettings
{settingsPort = port
,settingsHost =0.0.0.0
} app
loop
loop :: IO()
loop = do
threadDelay 100000
e < - doesFileExistdist / 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 。 解决方案
检查你的cabal文件是否使用了yesod-default 0.5。
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 .
A shot in the dark answer: check in your cabal file that you're using yesod-default 0.5.
这篇关于“Yesod devel”在发展中失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!