2013-08-17 21 views
5

Mam następujących instrukcjach instalowania ramy zatrzaskowe dla Haskell:ścieżka dla plików binarnych instalacyjnych dla cabal

http://janrain.com/blog/tutorial-building-a-sample-application-with-haskell-snap-postgresql-and-the-postgresql-simple-snaplet/ 

Podczas wykonywania

snap init 

mogę uzyskać -bash: snap: command not found (w systemie Mac OS X), i ja otwórz nowe okno terminala po zainstalowaniu przyciągania. Binarny jest zainstalowany w

/Users/<USER NAME>/Library/Haskell/ghc-7.6.3/lib/snap-0.12.1/bin 

i przystawki również działa dobrze, gdy jest poprzedzone snap init z tej ścieżki. Jednak ten bilet (dla Windows cabal instalatora)

http://trac.haskell.org/haskell-platform/ticket/175 

sugeruje, że to nie powinno się zdarzyć. Kiedy cabal zainstaluje nowy pakiet, powinien dodać odpowiednie katalogi do środowiska ścieżki. Uruchamianie set | grep "snap" lub set | grep "cabal" nic nie zwraca. Jakieś pomysły, jak (automatycznie) dodać właściwy katalog do środowiska PATH dla przyszłych instalacji?

+2

Normalnie Cabal instaluje pliki wykonywalne w '~/.cabal/bin' (lub'/usr/local/bin' dla instalacji światowych), a nie w katalogu pakietu specyficzne. Bilet, o którym mówisz, mówi o dodaniu jednego katalogu, mniej więcej równoważnego "~/.cabal/bin", do "% PATH%". W systemie UNIXy masz to zrobić samemu. Co mówi twój '~/.cabal/config' w' install-dirs user' i 'install-dirs global'? –

+4

Rozwiązane: Cabal tworzy łącza do plików binarnych w $ HOME/Library/Haskell/bin, a dodanie 'export PATH =" $ HOME/Library/Haskell/bin: $ PATH "' do '.bash_profile' rozwiązuje problem. – user2692274

+1

@ n.m: Dziękuję za szybką odpowiedź. Niestety, nie widzę Twojego komentarza. "~/.cabal/config" rzeczywiście mówi: możesz chcieć umieścić to na swojej PATH, dodając następujący wiersz do ~/.bash_profile: export PATH = "$ HOME/Library/Haskell/bin: $ PATH". To rozwiązuje problem. (install-dirs jest użytkownikiem) – user2692274

Odpowiedz