我正在尝试学习Yesod,但无法开始,因为我似乎就是无法安装它。为了确保我自己的系统(Mac、Haskell平台)不会影响它,我正在尝试构建一个Docker镜像来发挥作用。这是我的Dockerfile,即使你对Docker一无所知,也应该很容易看出我在做什么:
FROM ubuntu:14.04
ENV HOME /root
ENV PATH /root/.cabal/bin:$PATH
RUN apt-get update && \
apt-get install -y ghc ghc-haddock zlib1g-dev curl && \
cd /tmp && \
curl http://hackage.haskell.org/package/cabal-install-1.20.0.3/cabal-install-1.20.0.3.tar.gz | tar xzf - && \
cd cabal-install-1.20.0.3 && \
sh ./bootstrap.sh && \
cabal update && \
sed -i "s%^remote-repo: .*%remote-repo: stackage:http://www.stackage.org/stackage/46bb2d7487546939e22612e7d757f1df5a5163e9%" /root/.cabal/config && \
cabal update
RUN cabal install alex happy yesod-bin所以总而言之,我用一个简单的Ubuntu,安装ghc,haddock,zlib headers和curl,足够从源代码下载并安装cabal-install,然后我就这么做了,然后按照堆栈说明,用堆栈快照替换现有的Cabal配置中的远程存储库行。
在这一点上似乎一切正常,但是yesod-bin不能安装:
root@35bacb9e52e1:~# cabal install yesod-bin
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: yesod-bin-1.2.12.4 (user goal)
trying: streaming-commons-0.1.4.2 (dependency of yesod-bin-1.2.12.4)
trying: unix-2.6.0.1/installed-f12... (dependency of
streaming-commons-0.1.4.2)
trying: yaml-0.8.9 (dependency of yesod-bin-1.2.12.4)
next goal: aeson (dependency of yaml-0.8.9)
rejecting: aeson-0.8.0.0 (conflict: unix =>
bytestring==0.10.0.2/installed-4f9..., aeson => bytestring>=0.10.4.0)
Dependency tree exhaustively searched.我知道这其中存在冲突,但我不知道如何解决它。任何帮助都将不胜感激。
发布于 2014-09-08 15:24:12
Ubuntu的GHC是7.6.x,所以可能就是这样。
https://stackoverflow.com/questions/25719161
复制相似问题