Cider: deps.ednエイリアスを指定します

作成日 2018年08月02日  ·  5コメント  ·  ソース: clojure-emacs/cider

予想される行動

cider-jack-inを実行するときに使用するdeps.ednエイリアスのデフォルトコレクションを簡単に設定できること

実際の動作

cider-jack-in使用するエイリアスのデフォルトコレクションを設定できません

問題を再現する手順

私はそのようなdeps.ednを持っています:

{:deps {}

 :paths ["src" "resources"]

 :aliases
 {:server {:extra-deps {org.clojure/clojure {:mvn/version "1.9.0"}
                        mount {:mvn/version "0.1.12"}
                        clj-time {:mvn/version "0.14.2"}
                        tick {:mvn/version "0.3.5"}
                        ring/ring-jetty-adapter {:mvn/version "1.6.3"}
                        cheshire {:mvn/version "5.8.0"}
                        garden {:mvn/version "1.3.3"}
                        com.taoensso/timbre {:mvn/version "4.10.0"}
                        hiccup {:mvn/version "1.0.5"}
                        org.clojure/tools.reader {:mvn/version "1.3.0"}
                        clj-http {:mvn/version "3.7.0"}
                        ring/ring-core {:mvn/version "1.6.3"}
                        org.clojure/core.async {:mvn/version "0.4.474"}}}

  :client {:extra-deps {thheller/shadow-cljs {:mvn/version "2.4.24"}
                        com.taoensso/timbre {:mvn/version "4.10.0"}}}

  :client/build {:main-opts ["-m" "shadow.cljs.devtools.cli" "release" "client"]}

  :dev {:extra-deps {binaryage/devtools {:mvn/version "0.9.10"}}
        :extra-paths ["dev"]}}}

クライアント側のコードの作成中にサーバーのdepsが読み込まれないようにするには、サーバーのdepsを独自のエイリアスに移動し、トップレベルのdepsマップを空白のままにする必要がありました。

cider-jack-in-A:server:client:dev追加してclojureを実行するように、この特定のプロジェクトで使用するエイリアスのセットを何らかの方法で指定できるようにしたいと思います。

環境とバージョン情報

CIDERバージョン情報

CIDER 0.18.0snapshot(パッケージ:20180731.1750)
Clojure 1.9.0

;; CIDER 0.12.0snapshot (package: 20160331.421), nREPL 0.2.12
;; Clojure 1.8.0, Java 1.8.0_31

Lein / Bootバージョン

該当なし

Emacsバージョン

Emacs 25.3.1

オペレーティング・システム

macOS 10.12.16

最も参考になるコメント

プロジェクトの場合は、プロジェクト固有の構成を.dir-locals.elファイルに入れるだけです。 これは、プロジェクト固有の構成を持つための標準のEmacsメカニズムです。 http://endlessparentheses.com/a-quick-guide-to-directory-local-variables.htmlを参照して

全てのコメント5件

私はこれをcider-clojure-cli-global-options入れるだけです:

(setq cider-clojure-cli-global-options "-A:server:client:dev")

ところで、接頭辞argを付けてcider-jack-inを呼び出すと、追加のパラメーター( C-u C-c C-x j j )の入力も求められます。

ありがとう、プレフィックスarg(spacemacsではSPACE u SPACE m ' )を使用すると思います。

プロジェクトに対してこれを示す何らかの方法(おそらくdeps.ednのキー?)があるといいと思いますが、 -A:server:client:dev追加するのは不合理ではありません。

プロジェクトの場合は、プロジェクト固有の構成を.dir-locals.elファイルに入れるだけです。 これは、プロジェクト固有の構成を持つための標準のEmacsメカニズムです。 http://endlessparentheses.com/a-quick-guide-to-directory-local-variables.htmlを参照して

これをa89b694cc3cec0294d84bf9dbe1163ad2373e8dbで試したところ、次のエラーが発生しました。
Wrong type argument: listp, "-A:dev"(setq cider-clojure-cli-global-options '("-A:dev"))も試しましたが、同様のエラーで失敗しました: (wrong-type-argument listp cider-clojure-cli-global-options)

@ ro6 grep.appを使用して、実際の例を見つけることができます: https ://grep.app/search?q = cider-clojure-cli-global-options

次のdir-locals.elファイルで確認しました。

((nil
  (cider-clojure-cli-global-options . "-A:async")))

ジャックインすると、次のように検証された非同期エイリアスにアクセスできます。

;; Connected to nREPL server - nrepl://localhost:50518
;; CIDER 0.26.1 (Nesebar), nREPL 0.8.0
;; ...
;;  Startup: /usr/local/bin/clojure -A:async -Sdeps '{:deps {nrepl {:mvn/version "0.8.0"} cider/cider-nrepl {:mvn/version "0.25.3"}}}' -m nrepl.cmdline --middleware '["cider.nrepl/cider-middleware"]'
user> 

私はあなたがa89b694とリストしたコミットもチェックしました、そしてそこでもすべてがうまくいきました。 最後に(setq cider-clojure-cli-global-options "A:cljs")を試しましたが、エイリアスで正常に起動することもできました。

;;  Startup: /usr/local/bin/clojure -A:cljs -Sdeps  ...

あなたはあなたがしようとしていることのより多くのステップに入ることができますか?

このページは役に立ちましたか?
0 / 5 - 0 評価