Haskell`cabal`仅“部分”安装软件包

贾斯汀

Ubuntu上Tidal使用Haskell软件包安装时遇到问题cabal18:04

https://tidalcycles.org/index.php/Userbase

我不是Haskell专家,并且之前已经花了好几次时间来研究这些东西,所以我尝试使用此工具尽可能尝试新的安装-

https://www.haskell.org/ghcup/

我会尽可能多地清理与Haskell相关的内容-

justin@justin-XPS-13-9360:~$ rm -rf ~/.cabal/
justin@justin-XPS-13-9360:~$ rm -rf ~/.ghc
justin@justin-XPS-13-9360:~$ rm -rf ~/.ghcup

还有任何Ubuntu旧版Haskell-

justin@justin-XPS-13-9360:~$ sudo apt-get remove ghc

以便 -

justin@justin-XPS-13-9360:~$ ghci
bash: /home/justin/.ghcup/bin/ghci: No such file or directory

好的,我们走吧 -

curl https://get-ghcup.haskell.org -sSf | sh

这给了我-

{...}
Done installing, run "ghci-8.6.5" or set up your current GHC via: ghcup set 8.6.5
Setting GHC to 8.6.5
Done
Setting GHC to 8.6.5
Done
{...}
Successfully installed cabal-install into
  /home/justin/.ghcup/bin
Detected "/home/justin/.bashrc" on your system...
If you want ghcup to automatically fix your "/home/justin/.bashrc" to include the required PATH variable
answer with YES, otherwise with NO and press ENTER.

YES
OK! /home/justin/.bashrc has been modified. Restart your terminal for the changes to take effect,
or type "source /home/justin/.ghcup/env" to apply them in your current terminal session.

让我们设置PATH和测试-

justin@justin-XPS-13-9360:~$ source /home/justin/.ghcup/env
justin@justin-XPS-13-9360:~$ ghci
GHCi, version 8.6.5: http://www.haskell.org/ghc/  :? for help
Prelude>

到现在为止还挺好。现在跟随这个-

https://tidalcycles.org/index.php/疑难解答_a_Tidal_install

我尝试以下-

justin@justin-XPS-13-9360:~$ cabal update
Downloading the latest package list from hackage.haskell.org
To revert to previous state run:
    cabal v2-update 'hackage.haskell.org,2019-11-20T01:17:49Z'

接着 -

justin@justin-XPS-13-9360:~$ cabal new-install tidal --lib
{...}
Starting     tidal-1.4.4 (lib)
Building     tidal-1.4.4 (lib)
Installing   tidal-1.4.4 (lib)
Completed    tidal-1.4.4 (lib)

看起来仍然不错,但这是问题开始的地方-

justin@justin-XPS-13-9360:~$ cabal info tidal
* tidal            (library)
    Synopsis:      Pattern language for improvised music
    Versions available: 0.8.2, 0.9.9, 0.9.10, 1.2.1, 1.3.0, 1.4.1, 1.4.2, 1.4.3,
                        1.4.4 (and 99 others)
    Versions installed: [ Not installed ]

嗯- Not installed?? 还有-

justin@justin-XPS-13-9360:~$ ghc-pkg latest tidal
ghc-pkg: cannot find package tidal

h 但是,如果我看一下,~/.cabal可以看到已经安装一些东西-

justin@justin-XPS-13-9360:~$ ls -l /home/justin/.cabal/store/ghc-8.6.5/
total 100
{...}
drwxr-xr-x 4 justin justin 4096 Nov 20 06:00 tidal-1.4.4-898a4af91fab9d9d757e1a84104bbd7ca568a77d48b4679a3f4addb65912423a
{...}

我什至可以检查其中安装的库~/.cabal/store是否正常工作-

justin@justin-XPS-13-9360:~$ ghci
GHCi, version 8.6.5: http://www.haskell.org/ghc/  :? for help
Loaded package environment from /home/justin/.ghc/x86_64-linux-8.6.5/environments/default
Prelude> :script /home/justin/.cabal/store/ghc-8.6.5/tidal-1.4.4-898a4af91fab9d9d757e1a84104bbd7ca568a77d48b4679a3f4addb65912423a/share/BootTidal.hs
Listening for controls on 127.0.0.1:6010
tidal> :t d1
d1 :: Pattern ControlMap -> IO ()
tidal> 

但是我想使用Tidal其emacs扩展名-

https://github.com/tidalcycles/Tidal/blob/master/tidal.el

它按以下方式查找软件包,并需要cabal info tidal返回正确安装的版本-

 '(("path" . "ghc-pkg describe $(ghc-pkg latest tidal) | grep data-dir | cut -f2 -d' '")

本质上,emacs扩展程序希望该程序包在此处生活(这样可以使cabal info tidal工作)

/home/justin/.cabal/share/x86_64-linux-ghc-8.6.5/tidal-1.4.4/BootTidal.hs

cabal似乎只能“部分”在此处安装软件包-

/home/justin/.cabal/store/ghc-8.6.5/tidal-1.4.4-898a4af91fab9d9d757e1a84104bbd7ca568a77d48b4679a3f4addb65912423a/share/BootTidal.hs

现在,我可能可以修改emacs扩展名,使其指向~/.cabal/store而不是~/.cabal/share,但我希望它可以正常工作并cabal info tidal返回正确的版本。

谁能启发我为什么cabal不将文件推送到~/.cabal/share

TIA。

贾斯汀

按照上述步骤关闭它实际上是“有效的”,只是cabal社区似乎正在从“旧式”安装过程过渡到“新式”过程,并且区别并不总是很明显。新来者。同样,某些软件包的某些部分(特别是tidal.elTidal软件包中)尚未更新以反映cabal安装过程中的更改谢谢!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Haskell平台上的便携式软件包安装,Windows上带有Cabal

来自分类Dev

使用Cabal安装Haskell软件包而无需连接互联网

来自分类Dev

软件包extlinux仅部分安装,导致软件包安装和apt更新问题

来自分类Dev

软件包extlinux仅部分安装,导致软件包安装和apt更新问题

来自分类Dev

使用C ++和Stack / Cabal编译Haskell软件包

来自分类Dev

在Haskell平台上进行便携式软件包安装,并在Windows上安装Cabal

来自分类Dev

Lubuntu软件包仅中途安装

来自分类Dev

通过Nix安装Haskell软件包

来自分类Dev

Cabal-如何安装特定版本的软件包

来自分类Dev

删除Stack / Cabal软件包并安装旧版本

来自分类Dev

您如何获得Cabal安装本地软件包?

来自分类Dev

Cabal-如何安装特定版本的软件包

来自分类Dev

在buildroot中仅安装软件包的一部分

来自分类Dev

Cabal配置无法在Cabal沙箱中找到已安装的软件包

来自分类Dev

软件包安装

来自分类Dev

cabal沙箱安装仍然失败,并显示“软件包可能被重新安装破坏”

来自分类Dev

pip冻结:仅显示通过pip安装的软件包

来自分类Dev

如何仅获取已安装的库软件包的列表?

来自分类Dev

Pip仅安装纯Python软件包

来自分类Dev

如何仅获取已安装的库软件包的列表?

来自分类Dev

仅列出磁盘映像中已安装的软件包

来自分类Dev

仅使用基本软件包安装Debian

来自分类Dev

GNOME Software / PackageKit仅列出已安装的软件包

来自分类Dev

如何仅安装软件包的依赖项?

来自分类Dev

Pip仅安装纯Python软件包

来自分类Dev

Haskell Stack从github安装软件包的依赖关系

来自分类Dev

如何(安装和使用)Haskell中的软件包

来自分类Dev

Haskell:安装pureMD5软件包

来自分类Dev

如何使用堆栈/ cabal顺序构建每个haskell软件包?

Related 相关文章

  1. 1

    Haskell平台上的便携式软件包安装,Windows上带有Cabal

  2. 2

    使用Cabal安装Haskell软件包而无需连接互联网

  3. 3

    软件包extlinux仅部分安装,导致软件包安装和apt更新问题

  4. 4

    软件包extlinux仅部分安装,导致软件包安装和apt更新问题

  5. 5

    使用C ++和Stack / Cabal编译Haskell软件包

  6. 6

    在Haskell平台上进行便携式软件包安装,并在Windows上安装Cabal

  7. 7

    Lubuntu软件包仅中途安装

  8. 8

    通过Nix安装Haskell软件包

  9. 9

    Cabal-如何安装特定版本的软件包

  10. 10

    删除Stack / Cabal软件包并安装旧版本

  11. 11

    您如何获得Cabal安装本地软件包?

  12. 12

    Cabal-如何安装特定版本的软件包

  13. 13

    在buildroot中仅安装软件包的一部分

  14. 14

    Cabal配置无法在Cabal沙箱中找到已安装的软件包

  15. 15

    软件包安装

  16. 16

    cabal沙箱安装仍然失败,并显示“软件包可能被重新安装破坏”

  17. 17

    pip冻结:仅显示通过pip安装的软件包

  18. 18

    如何仅获取已安装的库软件包的列表?

  19. 19

    Pip仅安装纯Python软件包

  20. 20

    如何仅获取已安装的库软件包的列表?

  21. 21

    仅列出磁盘映像中已安装的软件包

  22. 22

    仅使用基本软件包安装Debian

  23. 23

    GNOME Software / PackageKit仅列出已安装的软件包

  24. 24

    如何仅安装软件包的依赖项?

  25. 25

    Pip仅安装纯Python软件包

  26. 26

    Haskell Stack从github安装软件包的依赖关系

  27. 27

    如何(安装和使用)Haskell中的软件包

  28. 28

    Haskell:安装pureMD5软件包

  29. 29

    如何使用堆栈/ cabal顺序构建每个haskell软件包?

热门标签

归档