12

これまでAquamacsを使用していましたが、 SLIMEを使用してClojureをインストールして実行する必要があります。AquamacsのSLIMEでClojureを使用する方法をグーグルで検索しましたが、成功しませんでした。

質問

  1. AquamacsにClojureをインストールすることは可能ですか?または、AquamacsのClojureが機能しない理由を推測できますか?
  2. EmacsとAquamacsが同じELPAを共有できないのは正常ですか?
  3. ELPAを使用してEmacs/AquamacsにConjureをインストールすることは可能ですか?
  4. 'lein swank'を使用してサーバーとして実行できると言われましたが、その方法を知っていますか?

私が試した(そして半分成功した)シーケンス

Mac OS X Emacsで試してみましたが、手順に従うことで動作させることができました。つまり、SLIMEでClojureを実行できました。

MacOSX用のEmacs

手順1)ESKをインストールします。

  • Gitのクローンを作成し、すべてのファイルを.emacs.dディレクトリにコピーします
  • 次のコードをに追加して.emacs再起動します
    (いつ
        (ロード
         (expand-file-name "〜/ .emacs.d / package.el"))
      (パッケージ初期化))

ステップ2)ELPAを使用してインストールします

  • Mxpackage-list-パッケージを選択するためのパッケージ
  • インストール
    • clojure-mode、clojure-test-mode
    • スライム、スライム-repl
    • swank-clojure
  • ClojureをインストールするためのMxスライム
  • 次のコードをに追加して.emacs再起動します
;; clojureモード
(リストに追加'load-path "/Users/smcho/.emacs.d/elpa/clojure-mode-1.7.1")
('clojure-mode-autoloadsが必要です)
(リストに追加'load-path "/Users/smcho/.emacs.d/elpa/clojure-test-mode-1.4")
('clojure-test-mode-autoloadsが必要です)

;; スライム
;(setq lower-lisp-program "/ Users / smcho / bin / clojure")
(リストに追加'ロードパス"/Users/smcho/.emacs.d/elpa/slime-20100404")
('slime-autoloadsが必要です)
(リストに追加'ロードパス"/Users/smcho/.emacs.d/elpa/slime-repl-20100404")
('slime-repl-autoloadsが必要です)

;; swank-clojure
(リストに追加'ロードパス"/Users/smcho/.emacs.d/elpa/swank-clojure-1.1.0")
('slime-repl-autoloadsが必要です)

Aquamacs

これで、EmacsでClojureを使用できるようになりました。同じ(または非常に類似した)方法を試して、AquamacsでClojureをもう一度実行しました。

ステップ1)Aquamacs用のESKをインストールします

  • ファイルを〜/ Library / Preferences /AquamacsEmacsにコピーします
  • 「〜/ Library / Preferences / AquamacsEmacs / Preferences.el」を変更して、以下を追加します
(setq kitfiles-dir(concat(file-name-directory
                    (または(buffer-file-name)load-file-name)) "/ aquamacs-emacs-starter-kit"))

; ロードするさまざまなディレクトリを設定します
(リストに追加'ロードパスkitfiles-dir)  
('initが必要)

手順2)*前と同じ手順ですべての(同じ)パッケージをインストールしますが、「Mxslime」で次のエラーメッセージが表示されます。「シンボルの関数定義は無効です:define-slime-contrib」

ELPA

EmacsとAquamacsのパッケージを組み合わせようとしましたが、組み合わせられません。ESKからではなく、 ELPA自体を使用して共有できると思いました。

ELPAがswank-conjureパッケージをダウンロードできなかったため、結果は良くありませんでした。

成功-「leinswank」を使用してAquamacs/Clojureを実行します。

こちらをご参照ください。

4

3 に答える 3

5

Aquamacsは、Clojureの作成者が使用しているため、Clojureで最も確実に機能します。ただし、私はEmacsを使用しており、上記のEmacsセクションで手順を実行した後、labreplをチェックすることをお勧めします。

http://github.com/relevance/labrepl

leiningenをお持ちでない場合は、それを入手してインストールするためのリンクは、labreplreadmeファイルの説明にあります。Clojureプログラミング用の環境をセットアップする方法を最初に学んだとき、それは非常に役に立ちました。project.cljlabreplでファイルを分解し、それが非常に簡単に機能する方法をつなぎ合わせることができます。labreplに付属する組み込みのWebアプリケーションのレッスンとトレーニングは言うまでもありません。

代わりにleinswankを使用する場合:

leiningenがインストールされていることを確認してください。project.clj devの依存関係に、次のようなエントリが必要です。

[leiningen/lein-swank "1.1.0"]

http://clojars.org/leiningen/lein-swank

その後、lein deps実行できるようにlein swankなり、Emacs内から実行M-x slime-connectして、デフォルトでEnterキーを押すだけです。

このルートに行く場合は、ここに直接leiningenへのリンクがあるので、labreplリポジトリをスキップできます:http://github.com/technomancy/leiningen

于 2010-07-27T01:08:46.653 に答える
2

Paul Barryが、AquamacsとClojureの使い方について講義します。

このコードを.emacsファイルに追加できるので、簡単です。

(リストに追加'load-path "〜/ clojure / clojure-mode")
(setq lower-lisp-program "/ Users / smcho / bin / clj")
('clojureモードが必要)
(setq auto-mode-alist
  (cons'("\\。clj\\'"。clojure-mode)
     auto-mode-alist))
(add-hook'clojure-mode-hook
  (ラムダ()
     (define-key clojure-mode-map "\ Cc \ Ce"'lisp-eval-last-sexp)))

'Mx clojure-mode'を実行し、REPLに対してCcCzを実行できます。

そして、EmacsでClojureと他のLispを同時に実行する際に質問と回答があったように、AquamacsではClojureとLispの両方を使用できました。

于 2010-07-27T04:38:38.190 に答える
2

これは、すべての最新バージョンの最も簡単なセットアップであることがわかりました。これは、leiningenがインストールされていると仮定した場合の簡単な要約です。

swank-clojureプラグインをインストールします

$ lein plugin install swank-clojure 1.3.2

clojureプロジェクトを作成する

$ lein new test-project
$ cd test-project
$ lein deps

次に、プロジェクトのclojureファイルの1つをemacsで開き、clojure-jack-inを実行します。

M-x clojure-jack-in

これで、clojureとプロジェクトの依存関係がロードされたスライムバッファーになりました。

于 2011-10-07T20:59:01.970 に答える