【问题标题】:Cannot locate cabal installed packages找不到 cabal 安装的软件包
【发布时间】:2012-12-14 00:31:07
【问题描述】:

我很茫然。我使用 OS X 10.8.2。

我能找到的唯一参考是:

  • 4.1 刚安装了包,现在找不到包了`

  • 当您全局安装软件包时会发生这种情况,而之前的
    软件包安装在本地。请注意 cabal-install 安装
    默认情况下在本地和“runhaskell Setup”命令安装
    默认全局。

cabal 默认设置为本地安装。我没有改变这一点。 Haskell 已在全球范围内安装。

$ cabal install pointfree
Resolving dependencies...
Configuring pointfree-1.0.4.3...
Building pointfree-1.0.4.3...
Preprocessing executable 'pointfree' for pointfree-1.0.4.3...
[1 of 7] Compiling Plugin.Pl.Common ( Plugin/Pl/Common.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Common.o )
[2 of 7] Compiling Plugin.Pl.Parser ( Plugin/Pl/Parser.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Parser.o )
[3 of 7] Compiling Plugin.Pl.PrettyPrinter ( Plugin/Pl/PrettyPrinter.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/PrettyPrinter.o )
[4 of 7] Compiling Plugin.Pl.Transform ( Plugin/Pl/Transform.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Transform.o )
[5 of 7] Compiling Plugin.Pl.Rules  ( Plugin/Pl/Rules.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Rules.o )
[6 of 7] Compiling Plugin.Pl.Optimize ( Plugin/Pl/Optimize.hs, dist/build/pointfree/pointfree-tmp/Plugin/Pl/Optimize.o )
[7 of 7] Compiling Main             ( Main.hs, dist/build/pointfree/pointfree-tmp/Main.o )
Linking dist/build/pointfree/pointfree ...
Warning: No documentation was generated as this package does not contain a
library. Perhaps you want to use the --executables flag.
Installing executable(s) in
/Users/beoliver/Library/Haskell/ghc-7.4.2/lib/pointfree-1.0.4.3/bin
Installed pointfree-1.0.4.3
Updating documentation index /Users/beoliver/Library/Haskell/doc/index.html

$ cat ~/.bash_profile
export PATH="$HOME/Library/Haskell/bin:$PATH"


$ ls -l ~/Library/Haskell/bin/
total 24
lrwxr-xr-x  1 beoliver  staff  49 Dec 28 16:06 cabal -> ../ghc-7.4.2/lib/cabal-install-1.16.0.2/bin/cabal
lrwxr-xr-x  1 beoliver  staff  48 Dec 28 19:52 pointfree -> ../ghc-7.4.2/lib/pointfree-1.0.4.3/bin/pointfree
-rw-r--r--  1 beoliver  staff  66 Dec 28 19:53 x

x 是奇数...

$ cat ~/Library/Haskell/bin/x
(line 1, column 5):
unexpected "+"
expecting space or simple term

我检查了ghc-pkg list,但它不存在。所以看看它是否与user 包一起使用。

$ ls ~/Library/Haskell/ghc-7.4.2/lib/
Cabal-1.16.0.3      cabal-install-1.16.0.2  pointfree-1.0.4.3

$ file pointfree-1.0.4.3/bin/pointfree 
pointfree-1.0.4.3/bin/pointfree: Mach-O 64-bit executable x86_64

$ ghc-pkg list --user
/Users/beoliver/.ghc/x86_64-darwin-7.4.2/package.conf.d
   Cabal-1.16.0.3
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0.3 of the Cabal library 

我在这里错过了一面旗帜吗?我还需要建造它吗?

$ ghc-pkg check
Warning: haddock-interfaces: /Library/Haskell/ghc-7.4.2/lib/haskell-platform-2012.4.0.0/doc/html/haskell-platform.haddock doesn't exist or isn't a file
Warning: haddock-html: /Library/Haskell/ghc-7.4.2/lib/haskell-platform-2012.4.0.0/doc/html doesn't exist or isn't a directory
Warning: haddock-interfaces: /Library/Haskell/ghc-7.4.2/lib/GLUT-2.1.2.1/doc/html/GLUT.haddock doesn't exist or isn't a file

【问题讨论】:

    标签: macos haskell packages cabal ghc-pkg


    【解决方案1】:

    我检查了ghc-pkg list,但它不存在。

    ghc-pkg 只知道并关心已安装的库。 pointfree 是一个没有附带库的可执行文件,所以 ghc-pkg 不知道它。

    由于$HOME/Library/Haskell/bin 在你的PATH 中,并且可执行文件链接到那里,你可以简单地从命令行运行它

    $ pointfree "\f x y -> f y x"
    flip
    

    (或者类似的东西,我已经很久没有玩pointfree了)。

    x 是奇数...

    这看起来像是来自parsec 的解析错误消息。不过,我不知道是什么将它写入该文件。

    $ ghc-pkg check
    Warning: haddock-interfaces: /Library/Haskell/ghc-7.4.2/lib/haskell-platform-2012.4.0.0/doc/html/haskell-platform.haddock doesn't exist or isn't a file
    Warning: haddock-html: /Library/Haskell/ghc-7.4.2/lib/haskell-platform-2012.4.0.0/doc/html doesn't exist or isn't a directory
    Warning: haddock-interfaces: /Library/Haskell/ghc-7.4.2/lib/GLUT-2.1.2.1/doc/html/GLUT.haddock doesn't exist or isn't a file
    

    似乎有什么东西踩到了您的黑线鳕,或者它们从一开始就没有正确安装。 可能表明存在实际问题,但如果您不想要本地文档,则可以忽略它。

    【讨论】:

    • +1 也是如此。我曾尝试过 $ pointfree /x ... 但没想到要把它放在“引号”中!好东西!谢谢。我会继续删除随机文件。
    【解决方案2】:

    我在 ~/.cabal/bin/ 中找到了我的 cabal 软件包二进制文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2015-10-30
      相关资源
      最近更新 更多