Не удается найти установленные пакеты cabal
Я в растерянности. Я использую 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
Х странно...
$ 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
2 ответа
я проверяю
ghc-pkg list
но это не там.
ghc-pkg
знает и заботится только об установленных библиотеках. pointfree
является исполняемым файлом без сопутствующей библиотеки, поэтому ghc-pkg
не знает об этом.
поскольку $HOME/Library/Haskell/bin
в вашем PATH
и исполняемый файл связан с ним, вы можете просто запустить его из командной строки
$ pointfree "\f x y -> f y x"
flip
(или что-то подобное, я давно не играл в pointfree).
х странно...
Это похоже на сообщение об ошибке разбора от 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
Кажется, что-то попрало ваши пикши, или они не были правильно установлены с самого начала. Это может указывать на реальную проблему, но вы, вероятно, можете игнорировать ее, если вам не нужна локальная документация.