Установка reflex-dom может сломать ghcjs

Я пытаюсь установить reflex а также reflex-dom с помощью cabal install Я получил следующие сообщения об ошибках:

$ 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.

ghcjs на GitHub - в 0.2.0 в ветке master и 0.2.1 в ветке dedupe. И я также боюсь взлома lens, Есть ли способ установить reflex а также reflex-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.

1 ответ

Решение

Лучший способ, которым я знаю для последовательной установки reflex и reflex-dom (и ghcjs) в среде linux, - это следовать инструкциям по установке в файле readme для платформы reflex.

Этот процесс сводится к клонированию репозитория на платформе reflex и запуску скрипта "try-reflex" из этого репозитория. Скрипт try-reflex запускает оболочку, из которой вы можете запустить ghcjs и получите полный доступ к reflex / reflex-dom. Эта оболочка не зависит от того, что вы ранее установили на свой компьютер, поэтому вам не нужно беспокоиться о том, чтобы испортить линзы или любой другой пакет Cabal, который у вас уже есть.

Другие вопросы по тегам