2013-08-17 4 views
5

Я, следуя инструкции по установке рамки оснастки для Haskell:путь для исполняемых файлов установки для заговорщиков

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

При выполнении

snap init 

я получаю -bash: snap: command not found (на Mac OSX), и я сделал после установки оснастки откройте новое окно терминала. Бинарный устанавливаются в

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

и оснастка также отлично работает, когда snap init предваряется этим путем. Тем не менее, этот билет (для Cabal установщика окон)

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

предполагает, что это не должно произойти. Когда cabal устанавливает новый пакет, он должен добавить правильные каталоги в среду пути. Запуск set | grep "snap" или set | grep "cabal" ничего не возвращает. Любые идеи о том, как (автоматически) добавить правильный каталог в среду PATH для будущих установок?

+2

Обычно Cabal устанавливает исполняемые файлы в '~/.cabal/bin' (или'/USR/местные/bin' для глобальных установок), а не в директории для пакета. Билет, на который вы ссылаетесь, говорит о добавлении одного каталога, примерно эквивалентного '~/.cabal/bin', к'% PATH% '. В системе UNIXy вы должны сделать это сами. Что говорит ''/.cabal/config' под 'install-dirs user' и' install-dirs global'? –

+4

Решено: Cabal создает ссылки на двоичные файлы в $ HOME/Library/Haskell/bin и добавляет 'export PATH = '$ HOME/Library/Haskell/bin: $ PATH" 'в' .bash_profile' исправляет проблему. – user2692274

+1

@ n.m: Благодарим вас за быстрый ответ. Извините, я не видел вашего комментария. '~/.cabal/config' действительно говорит: вы можете поместить это в свой PATH, добавив следующую строку в ваш ~/.bash_profile: export PATH = "$ HOME/Library/Haskell/bin: $ PATH". Это решает проблему. (install-dirs - пользователь) – user2692274

ответ