новый стек не работает должным образом

Я новичок в haskell, и у меня возникли проблемы с использованием stack new для создания нового проекта.

Я использую MACOSX (El Capitan) и после установки GHC для Mac и установки Стек с использованием homebrew, я попробовал следующее в ~/PROJECTS

stack new my-project

Это продолжает давать мне следующую общую информацию о стеке

Usage: stack new ([--solver] | [--resolver RESOLVER] | [--prefer-lts] |
             [--prefer-nightly]) [--force] [--ignore-subdirs]
  Create a brand new project

Я использую zsh - почему создается новая папка my-project?

Примечание: stack --version выходы:

Version 0.1.2.0, Git revision 65246552936b7da4b64b38372feac903d96a8911

Любая помощь приветствуется


person user4687531    schedule 29.12.2015    source источник


Ответы (1)


Стек 0.1.2.0 не принимает имя пакета. Если вы хотите создать проект с именем my-project (на самом деле, пакет с именем new-template), используя эту версию, вы можете сделать что-то вроде

$ mkdir my-project
$ cd my-project/
$ stack new

Это создаст несколько файлов в каталоге my-project.

Дополнительную информацию можно найти на странице stack new --help.

Однако для более новых версий Stack требуется имя пакета. Например, если вы запустите stack new со стеком 1.0.0, вы получите что-то вроде

Usage: stack new PACKAGE_NAME ...

Обе версии стека должны работать, но лучше всего обновить стек (0.1.2.0 от 5 июля, что несколько устарело).

person jpvillaisaza    schedule 29.12.2015
comment
Спасибо @jpvillaisaza! Я использовал brew для установки стека, чтобы будущими обновлениями было легче управлять. Я сделал brew upgrade haskell-stack, но, похоже, это не обновляет его до более поздней версии. Есть идеи, как обновиться с помощью brew? ПРИМЕЧАНИЕ. Когда я запускаю эту команду brew upgrade, она упоминает Error: haskell-stack 1.0.0 already installed, что означает, что это должна быть последняя версия. Что здесь происходит с точки зрения устанавливаемых/запускаемых версий стека? - person user4687531; 30.12.2015
comment
@ user4687531 Что говорит which stack? Ваш путь может получить более старую версию (например, у меня есть старая версия /usr/local/bin и новая версия ~/.local/bin), поэтому убедитесь, что путь к тому, который вы хотите, имеет приоритет. stack upgrade вам подходит? - person jpvillaisaza; 30.12.2015
comment
Ah which stack дает /Applications/ghc-7.10.2.app/Contents/bin/stack, который взят из ghc для mac osx. Мне нужно использовать установленный brew, который находится здесь: /usr/local/Cellar/haskell-stack/1.0.0. Я предполагаю, что мне просто нужно добавить варку перед моей переменной $PATH в zshrc? - person user4687531; 30.12.2015
comment
@user4687531 user4687531 Да, убедитесь, что файл из brew стоит первым в пути. - person jpvillaisaza; 30.12.2015