我在理解如何升级cabal沙箱中的软件包时遇到了一些麻烦.我想升级esqueleto-1.3.4.5到esqueleto-1.3.5并改变我myapp.cabal的依赖esqueleto >= 1.3.5 && < 1.4.
$ cabal --version
cabal-install version 1.18.0.2
using version 1.18.1.2 of the Cabal library
$ cabal install --upgrade-dependencies
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: esqueleto-1.3.4.5/installed-ac7... (user goal)
next goal: myapp (user goal)
rejecting: myapp-0.0.0 (conflict:
esqueleto==1.3.4.5/installed-ac7..., myapp => esqueleto>=1.3.5 &&
<1.4)
错误在我看来好像cabal正在尝试使用已安装的esqueleto版本来解决依赖关系,esqueleto-1.3.4.5/installed-ac7...有人可以解释一下这是如何工作的吗?
我的直觉是,我应该使用--upgrade-dependencies这样做,但我也尝试过--only-dependencies和--reinstall.
我正在学习使用cabal-dev设置项目来保持依赖关系的清洁. cabal-dev ghci并且cabal-deb ghc-pkg很好地工作.但我发现自己想要发出一个cabal-dev ghc命令,但它不存在.
上下文试图在使用ghc工作的emacs中使用flymake,但直接ghc命令没有获得cabal-dev环境.
有什么东西可以让我cabal-dev ghc以同样的方式cabal-dev ghci运作吗?
所以,我正在尝试使用Plugins包从源文件动态加载haskell函数.源文件取决于foo具有模块的包Foo.Bar.我正在我foo安装的Cabal沙箱中运行我的项目.我的主程序和我用插件加载的模块都依赖于foo.我总是得到以下两个错误之一:
当我foo安装~/.cabal,我收到错误:
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
aizmvszmaizmlibzm0zi1_FooziBar_zdfTypeableBazzuds2_closure
whilst processing object file
/home/joey/.cabal/lib/foo-0.1/ghc-7.6.3/HSfoo-0.1.o
This could be caused by:
* Loading two different object files which export the same symbol
* Specifying the same object file twice on the GHCi command line
* An incorrect `package.conf' entry, causing some object to be
loaded twice.
GHCi cannot safely continue in this situation. Exiting …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建简单的Cabal可执行包.
该惊天动地用户指南的'运行可执行程序’一节说:
您可以使用run命令构建Cabal并运行可执行文件.
Run Code Online (Sandbox Code Playgroud)cabal run EXECUTABLE [-- EXECUTABLE_FLAGS]
然而,当我输入该命令时:
$ cabal run HelloWorld
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:
cabal: unrecognised command: run (try --help)
Run Code Online (Sandbox Code Playgroud)
cabal --help告诉我,确实没有run命令.
我错过了什么吗?如何运行我的可执行文件?
我是Haskell和Cabal的新手; 请告诉我这里包含哪些信息会有所帮助.
我在Mac OS X 10.8.5上.
cabal --version 得到:
cabal-install version 0.14.0
using version 1.14.0 of the Cabal library
Run Code Online (Sandbox Code Playgroud)
ghc --version 得到:
The Glorious Glasgow Haskell Compilation System, version 7.4.2
Run Code Online (Sandbox Code Playgroud) 按照QuickStart上的说明操作后,我在启动网页时看到了Yesod中的一些错误.错误以:
...
不能满足-package-id wai-extra-1.3.4.6-62543d69d10941dae1d9b206c3eb3067:
Run Code Online (Sandbox Code Playgroud)wai-extra-1.3.4.6-62543d69d10941dae1d9b206c3eb3067 is unusable due to missing or recursive dependencies: blaze-builder-conduit-1.0.0-1053545317cd68e3d51439dd9a0e622d zlib-conduit-1.0.0-b51dc7daf506ea4c5ecd031c5101d96a (use -v for more information)构建失败,暂停......
希望相关,参考教程让我运行
cabal-dev安装
在一个新的Yesod项目上,但是这也给了我错误:
...
[1/1]编译Control.Monad.Logger(Control/Monad/Logger.hs,dist/build/Control/Monad/Logger.o)
Control/Monad/Logger.hs:63:39:模块
System.Log.FastLogger' does not exportpushLogStr'Control/Monad/Logger.hs:63:72:模块
System.Log.FastLogger' does not export记录器集'Control/Monad/Logger.hs:63:83:模块
System.Log.FastLogger' does not exportnewLoggerSet'Control/Monad/Logger.hs:63:97:模块
System.Log.FastLogger' does not exportdefaultBufSize'无法安装monad-logger-0.3.3.0...
在后来的这组错误中,我遇到了一个页面,表明该问题已得到修复(因此不会让我发布超过2个链接,但Google会出现错误,并且会出现问题).
有任何想法吗?
提前致谢!