【问题标题】:Installing reflex-dom likely to break ghcjs安装 reflex-dom 可能会破坏 ghcjs
【发布时间】:2017-07-08 08:03:59
【问题描述】:

我正在尝试使用cabal install 安装reflexreflex-dom 我收到以下错误消息:

$ cabal install reflex-dom

...

cabal: The following packages are likely to be broken by the reinstalls:
lens-4.15.1
ghcjs-0.2.0
free-4.12.4
kan-extensions-5.0.1
adjunctions-4.3
Use --force-reinstalls if you want to install anyway.

GitHub 上的ghcjs 位于“master”分支上的0.2.0 和名为“dedupe”的分支上的0.2.1。我也害怕打破lens有什么方法可以安装reflexreflex-dom以一致的方式?也许我需要更改.cabal文件


这是来自终端的完整回复

$ cabal install reflex-dom

Resolving dependencies...
In order, the following would be installed:
bifunctors-5.3 (latest: 5.4.1) (via: reflex-dom-0.3 these-0.6.2.1 lens-4.13.2.1 free-4.12.4 semigroupoids-5.0.1 profunctors-5.2) (new version)
data-default-instances-base-0.1.0.1 (via: data-default-0.5.3) (new package)
data-default-0.5.3 (latest: 0.7.1.1) (via: reflex-dom-0.3) (new version)
dependent-sum-0.3.2.2 (latest: 0.4) (via: reflex-dom-0.3 reflex-0.4.0 dependent-sum-template-0.0.0.5 dependent-map-0.2.4.0) (new package)
dependent-map-0.2.4.0 (via: reflex-dom-0.3 reflex-0.4.0) (new package)
exception-transformers-0.4.0.5 (via: reflex-dom-0.3 reflex-0.4.0) (new package)
haskell-src-exts-1.17.1 (latest: 1.19.1) (via: reflex-0.4.0 haskell-src-meta-0.6.0.14) (new version)
haskell-src-meta-0.6.0.14 (latest: 0.7.0.1) (via: reflex-0.4.0) (new version)
profunctors-5.2 (via: these-0.6.2.1 lens-4.13.2.1 adjunctions-4.3 free-4.12.4) (reinstall) (changes: bifunctors-5.4.1 -> 5.3)
raw-strings-qq-1.1 (via: reflex-dom-0.3) (new package)
ref-tf-0.4.0.1 (via: reflex-dom-0.3 reflex-0.4.0) (new package)
semigroupoids-5.0.1 (latest: 5.1) (via: these-0.6.2.1 lens-4.13.2.1 kan-extensions-5.0.1 adjunctions-4.3 free-4.12.4) (new version)
free-4.12.4 (via: lens-4.13.2.1 kan-extensions-5.0.1 adjunctions-4.3) (reinstall) (changes: bifunctors-5.4.1 -> 5.3, semigroupoids-5.1 -> 5.0.1)
adjunctions-4.3 (via: kan-extensions-5.0.1) (reinstall) (changes: semigroupoids-5.1 -> 5.0.1)
kan-extensions-5.0.1 (via: lens-4.13.2.1) (reinstall) (changes: semigroupoids-5.1 -> 5.0.1)
lens-4.13.2.1 (latest: 4.15.1) (via: reflex-dom-0.3) (new version)
th-extras-0.0.0.4 (via: dependent-sum-template-0.0.0.5) (new package)
dependent-sum-template-0.0.0.5 (via: reflex-dom-0.3) (new package)
these-0.6.2.1 (latest: 0.7.3) (via: reflex-dom-0.3 reflex-0.4.0) (new package)
reflex-0.4.0 (via: reflex-dom-0.3) (new package)
utf8-string-1.0.1.1 (via: glib-0.13.4.1 cairo-0.13.3.1) (new package)
cairo-0.13.3.1 (via: webkitgtk3-0.14.2.1 gtk3-0.14.6 pango-0.13.3.1) (new package)
glib-0.13.4.1 (via: reflex-dom-0.3 webkitgtk3-javascriptcore-0.13.2.0 ghcjs-dom-0.2.4.0 webkitgtk3-0.14.2.1 gtk3-0.14.6 pango-0.13.3.1 gio-0.13.3.1) (new package)
gio-0.13.3.1 (via: gtk3-0.14.6) (new package)
pango-0.13.3.1 (via: webkitgtk3-0.14.2.1 gtk3-0.14.6) (new package)
gtk3-0.14.6 (via: reflex-dom-0.3 webkitgtk3-javascriptcore-0.13.2.0 ghcjs-dom-0.2.4.0 webkitgtk3-0.14.2.1) (new package)
webkitgtk3-0.14.2.1 (via: reflex-dom-0.3 webkitgtk3-javascriptcore-0.13.2.0 ghcjs-dom-0.2.4.0) (new package)
ghcjs-dom-0.2.4.0 (latest: 0.7.0.4) (via: reflex-dom-0.3) (new package)
webkitgtk3-javascriptcore-0.13.2.0 (latest: 0.14.2.1) (via: reflex-dom-0.3) (new package)
reflex-dom-0.3 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
lens-4.15.1
ghcjs-0.2.0
Use --force-reinstalls if you want to install anyway.

和类似的安装反射

$ cabal install reflex

Resolving dependencies...
In order, the following would be installed:
bifunctors-5.3 (latest: 5.4.1) (via: these-0.6.2.1 semigroupoids-5.0.1 profunctors-5.2) (new version)
dependent-sum-0.3.2.2 (latest: 0.4) (via: reflex-0.4.0 dependent-map-0.2.4.0) (new package)
dependent-map-0.2.4.0 (via: reflex-0.4.0) (new package)
exception-transformers-0.4.0.5 (via: reflex-0.4.0) (new package)
haskell-src-exts-1.17.1 (latest: 1.19.1) (via: reflex-0.4.0 haskell-src-meta-0.6.0.14) (new version)
haskell-src-meta-0.6.0.14 (latest: 0.7.0.1) (via: reflex-0.4.0) (new version)
profunctors-5.2 (via: these-0.6.2.1) (reinstall) (changes: bifunctors-5.4.1 -> 5.3)
ref-tf-0.4.0.1 (via: reflex-0.4.0) (new package)
semigroupoids-5.0.1 (latest: 5.1) (via: these-0.6.2.1) (new version)
these-0.6.2.1 (latest: 0.7.3) (via: reflex-0.4.0) (new package)
reflex-0.4.0 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
lens-4.15.1
ghcjs-0.2.0
free-4.12.4
kan-extensions-5.0.1
adjunctions-4.3
Use --force-reinstalls if you want to install anyway.

【问题讨论】:

  • 大多数人使用堆栈来避免这种错误。自从我开始使用堆栈以来,我没有遇到过重大版本问题。也许你的选择?
  • 您使用的是什么操作系统?
  • @DaveCompton 这是 Ubuntu 16.04

标签: haskell cabal ghcjs reflex ghcjs-dom


【解决方案1】:

据我所知,在 linux 环境中以一致的方式安装 reflex 和 reflex-dom(以及 ghcjs)的最佳方法是遵循 setup instructions on the reflex-platform readme

该过程相当于克隆 reflex-platform 存储库并从该存储库中运行脚本“try-reflex”。 try-reflex 脚本启动一个 shell,您可以从中运行 ghcjs 将完全访问 reflex/reflex-dom 。此 shell 环境独立于您之前在计算机上安装的内容,因此您不必担心会弄乱镜头或您已有的任何其他 cabal 包。

【讨论】:

  • 'reflex-platform/try-reflex' 脚本已成为我默认的 haskell 工作环境,不仅适用于 ghcjs,也适用于 ghc。它既简单又可靠。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 2018-09-20
  • 1970-01-01
相关资源
最近更新 更多