'ensime generate' не является допустимой командой sbt

Я пытаюсь использовать sbt для создания файла конфигурации enime, как описано в этом руководстве:

http://jawher.net/2011/01/17/scala-development-environment-emacs-sbt-ensime/

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу заставить sbt сгенерировать файл конфигурации, так как команда «ensime generate» не является частью набора команд sbt.

[выход]

[info] Building project ScalaTest 1.0 against Scala 2.9.2
[info]    using sbt.DefaultProject with sbt 0.7.7 and Scala 2.7.7
[error] No method named 'ensime' exists.
[info] Execute 'help' for a list of commands or 'actions' for a list of available project actions and methods.
[info] 
[info] Total time: 0 s, completed 26-Jan-2013 12:53:48
[info] 
[info] Total session time: 0 s, completed 26-Jan-2013 12:53:48
[error] Error during build.

[Последующие шаги]

cd <project directory> (sbt project root)
sbt 'ensime generate'

[Информация о версии]

sbt 0.7.7
ensime 2.9.2-0.9.8.1
scala 2.9.2

[конфигурация emacs]

(add-to-list 'load-path "~/.emacs.d/scala-emacs")
(require 'scala-mode-auto)
(add-hook 'scala-mode-hook
            '(lambda ()
        (scala-mode-feature-electric-mode)
           ))
(require 'scala-mode)
(add-to-list 'auto-mode-alist '("\\.scala$" . scala-mode))
(add-to-list 'load-path "~/.emacs.d/ensime/elisp/")
(require 'ensime)
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)

(push "/media/xxx/Development/Runtimes/scala-2.9.2/bin/" exec-path)
(push "/media/xxx/Development/Tools/sbt/" exec-path)

Любая помощь приветствуется (я проверил все пути, поэтому, пожалуйста, не комментируйте это)

Ваше здоровье,

JLove


person raven-king    schedule 26.01.2013    source источник
comment
Я предполагаю, что ваша версия SBT слишком старая (0.7.7, текущая версия 0.12.2). Я не смог найти никаких явных требований к версии SBT на страницах Ensime github, но я был бы удивлен, если бы это было не проблемой. По какой причине вы не можете перейти на более новую версию SBT?   -  person Mark S    schedule 27.01.2013
comment
@Mark S Я не осознавал, что моя версия устарела! Спасибо за совет... Попробую!   -  person raven-king    schedule 27.01.2013


Ответы (3)


Вы добавили плагин ensime-sbt-cmd в свою сборку sbt? http://aemoncannon.github.com/ensime/index.html#tth_sEc3.1

person Eugene Burmako    schedule 26.01.2013
comment
Мне пришлось создать файл вручную, так как его не существовало. Все еще не работает... те же сообщения об ошибках. Я попытался добавить его по умолчанию для всех проектов, добавив ту же строку в ~/.sbt/plugins/plugins.sbt (снова мне пришлось создать структуру папок plugins/plugins.sbt), но все равно без радости. - person raven-king; 26.01.2013

кажется, вам нужно процитировать команду в оболочке, т.е.:

$ sbt "ensime generate"

ХТН

person xkummerer    schedule 29.03.2013

У меня такая же проблема. Попробовав то, что вы сделали, я решил это с помощью следующих дополнительных шагов:

  1. Установите последнюю версию (на момент написания получена 0.12.3 с http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html)
  2. Отредактируйте файл project\build.properties и соответственно измените sbt.version (в моем случае sbt.version=0.12.3)
  3. Запустите sbt из корня проекта.

Поскольку вы уже изменили файл плагинов, это должно установить команду ensime. Если вы хотите запустить его из командной строки, не забудьте взять команду в кавычки (sbt "ensime generate").

person jarnaldich    schedule 12.04.2013