3

このチュートリアルで説明されているように、sbt を使用して ensime 構成ファイルを生成しようとしています。

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

私が抱えている問題は、「ensime generate」コマンドが sbt コマンド セットに含まれていないように見えるため、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)

助けていただければ幸いです(すべてのパスを確認したので、これに関するコメントはありません)

乾杯、

Jラブ

4

3 に答える 3

1

ensime-sbt-cmd プラグインを sbt ビルドに追加しましたか? http://aemoncannon.github.com/ensime/index.html#tth_sEc3.1

于 2013-01-26T15:43:09.417 に答える
1

シェルでコマンドを引用する必要があるようです。つまり:

$ sbt "ensime generate"

HTH

于 2013-03-29T16:36:13.550 に答える
0

私も同じ問題を抱えていました。あなたがしたことを試した後、次の追加の手順で解決しました:

  1. 最新バージョンをインストールします (執筆時点では、 http://www.scala-sbt.org/release/docs/Getting-Started/Setup.htmlから 0.12.3 を取得しています) 。
  2. ファイルを編集し、それに応じproject\build.propertiesて変更しますsbt.version(私の場合、sbt.version=0.12.3
  3. プロジェクト ルートから sbt を実行します。

すでにプラグイン ファイルを変更しているため、これにより ensime コマンドがインストールされます。コマンド ラインから実行する場合は、コマンドを引用符で囲むことを忘れないでください ( sbt "ensime generate")。

于 2013-04-12T07:32:13.547 に答える