首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能安装Haskell uniplate库

未能安装Haskell uniplate库
EN

Stack Overflow用户
提问于 2014-11-15 03:24:52
回答 1查看 330关注 0票数 2

我正在试着安装Elm,说明是安装Haskell,然后

代码语言:javascript
复制
sh> cabal update
sh> cabal install cabal-install
sh> cabal install -j Elm elm-repl elm-reactor elm-get

当我这样做时,阴谋安装安装将安装text-1.2.0.0,这与文本-1.1.0.0( uniplate需要这样做)和它的依赖方无法安装。text-1.1.0.0已安装并显示,但被拒绝,只支持文本-1.2.0.0,尽管目标需要文本-1.1.0.0。

有没有办法坚持让阴谋集团使用文本-1.1.0.0?是否有办法使文本-1.1.0.0和文本-1.2.0.0共存?有没有办法让uniplate相信它可以接受文本-1.2.0.0?或者让uniplate (或阴谋集团)相信版本文本-1.1.0.0实际上已经安装了?那能行吗?

当我显式地尝试安装1.1.0.0版本的文本时,我被告知重新安装会破坏其他软件包。显然,这是一次降级,而不是一次联合安装。阴谋集团似乎没有办法允许我同时安装同一库的两个版本。

如果我卸载Haskell和所有库,然后重新安装Elm (没有安装cabal-install,所以我没有安装text-1.2.0.0,这样就不会发生冲突),我将得到大约100行

代码语言:javascript
复制
package aeson-0.7.0.4-8f84b14cc682e4c9b009352420076a45 is unusable due to missing or recursive dependencies:
  attoparsec-0.10.4.0-ec2d0a330db1f6e3a6a3b79471a403ef hashable-1.2.2.0-45bd22df8c4ead6b3a7fb1d08bb07f7d mtl-2.1.3.1-8bcc0591131896cfc8761a93703d4c61 scientific-0.2.0.2-5e275f5d96527da6dc1f05642692a484 syb-0.4.1-be94ebe67c3607f5df1dfcc1906f5d5c text-1.1.0.0-9bd69e9ace700e05fb08e463086bc383 unordered-containers-0.2.4.0-69836b34d13649bcfacc8fb0c9f53e64 vector-0.10.9.1-c550551354bc7c2b5a1d261f39b2f3f4
package aeson-pretty-0.7.1-5dc26d5a4560afe110e90283479a1251 is unusable due to missing or recursive dependencies:
aeson-0.7.0.4-8f84b14cc682e4c9b009352420076a45       
text-1.1.0.0-9bd69e9ace700e05fb08e463086bc383 
unordered-containers-0.2.4.0-69836b34d13649bcfacc8fb0c9f53e64 
vector-0.10.9.1-c550551354bc7c2b5a1d261f39b2f3f4
package asn1-encoding-0.9.0-94e9066cccf7ead73bee5ae4aa982071 is unusable due to missing or recursive dependencies:
mtl-2.1.3.1-8bcc0591131896cfc8761a93703d4c61
package asn1-parse-0.9.0-af4efc4777a8a0d9d19a626d5e4b08ff is unusable due to missing or recursive dependencies:
asn1-encoding-0.9.0-94e9066cccf7ead73bee5ae4aa982071
mtl-2.1.3.1-8bcc0591131896cfc8761a93703d4c61 
text-1.1.0.0-9bd69e9ace700e05fb08e463086bc383

我根本不知道该如何解决这个问题,也不知道该在哪里尝试。以前有人走过这条路吗?你有什么建议吗?

谢谢。

沙箱中的编辑安装只会逐步更改结果: text-1.1.0.0不与text-1.1.0.0冲突,但仍然无法加载(尽管已安装),并且仍然是不满意的依赖关系。

失火制造者是第一个失败的cannot satisfy -package-id text-1.1.0.0-9bd69e9ace700e05fb08e463086bc383,但同样的日志早先声明的[_12] trying: text-1.1.0.0/installed-9bd... (dependency of Elm-0.13),没有明显的错误或抱怨。

cabal list显示安装的文本-1.1.0.0和文本-1.2.0.0。

单独安装救生器看起来是一样的。依赖解析显示

代码语言:javascript
复制
[_56] trying: blaze-builder-0.3.3.4 (user goal)
[_57] next goal: text (dependency of blaze-builder-0.3.3.4)
[_57] trying: text-1.1.0.0/installed-9bd...
[_58] done

一切看起来都很好,但稍后,相同的日志

代码语言:javascript
复制
<command line>: cannot satisfy -package-id text-1.1.0.0-9bd69e9ace700e05fb08e463086bc383
    (use -v for more information)

dist/dist-sandbox-ad0bcd57/package.conf.inplace".命令行已经有了-v标志,并试图用更多的-v重新运行从日志复制的命令行,结果出现了一个错误,即“无法在-v中找到包数据库”。

似乎没有package.conf.inplace存在。

进一步编辑

在Elm安装页面上,有一个指向BuildFromSource.hs脚本的链接,该脚本也应该用于安装Elm。在该脚本运行失败所需的时间内,我成功地安装了leiningen、node、npm、grunt和Clojure。我现在已经走得更远了,大约在20分钟内安装了Clojurescript,而不是在近一周内安装了榆树。

埃尔姆看上去真的很有趣,但打起来太难了。

再次感谢所有想帮忙的人。

*编辑*

我终于拿到了。

安装程序在http://elm-lang.org/Install.elm上安装的每一个可执行文件都会导致分段错误。

在同一个页面上的"Build“选项无法工作,因为依赖关系要么相互影响,要么一开始就无法直接进行。

http://new-www.haskell.org/downloads/osx的ghc需要比我更晚的Mac版本。(与旧版本的链接不会误入歧途。)

解决方案(回顾起来是显而易见的)是port install haskell-platformport install hs-cabal-installcabal install Elm ...。我不得不运行其中一个安装程序两次,因为它找不到hackage.haskell.org (这怎么是‘用户’错误?)但我的你好-世界。埃尔姆现在编译。

再次感谢大家。

EN

回答 1

Stack Overflow用户

发布于 2014-11-15 12:26:03

您已经安装的元素似乎存在一些依赖关系问题。您可能需要在沙箱中安装它。

首先,更新最新版本的阴谋集团:

代码语言:javascript
复制
$ cabal update
$ cabal install cabal cabal-install

接下来,确保在您的cabal上安装了$PATH版本。

代码语言:javascript
复制
$ which cabal
> /path/to/cabal/bin/cabal

如果上面写着类似/usr/bin/cabal的内容,那么您需要export cabal才能在您的$PATH上。对我来说,这是`/home/username/..cabal/bin

代码语言:javascript
复制
$ export PATH=/path/to/cabal/bin/cabal;$PATH

再次运行which cabal并确保它指向该路径。

现在您已经拥有了最新版本的cabal。运行以下命令:

代码语言:javascript
复制
$ mkdir elm
$ cd elm
$ cabal sandbox init

这将初始化一个依赖项完全独立于其他安装的沙箱。在这个目录中,您应该能够通过运行以下命令来安装elm平台:

代码语言:javascript
复制
$ cabal install Elm elm-repl elm-reactor elm-get

为了方便起见,这些文件将安装在一个名为.cabal-sanbox/bin/的子目录中,您可能希望将其添加到您的$PATH中,以便您可以从任何目录运行可执行文件。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26942187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档