繁体   English   中英

在没有clojure项目的情况下,“苹果酒杰克”运行clojure而不是leiningen

[英]'cider-jack-in' run clojure instead leiningen without a clojure project

我试图在没有Clojure项目的情况下从emacs执行“苹果酒劫持”,而我只是想运行Clojure REPL。 但我发现,苹果酒试图运行/usr/local/bin/clojure ,而不是/usr/local/bin/lein这不是指我profiles.clj为Leiningen设置。 当我尝试Clojure项目时,通常与lein一起使用。

我想知道是否有任何原因,即使我在终端机上没有Clojure项目的情况下尝试lein repl时也没有问题(我曾希望Cider能够这样做),以及一种在没有Clojure项目的情况下通过Cider运行Leiningen的方式。

我对此表示感谢。

在CIDER 0.18(当前稳定版本)上,您需要将cider-jack-in-default为符号,而不是字符串(例如'lein )。

(define-obsolete-variable-alias 'cider-default-repl-command 'cider-jack-in-default)
(defcustom cider-jack-in-default (if (executable-find "clojure") 'clojure-cli 'lein)
  "The default tool to use when doing `cider-jack-in' outside a project.
This value will only be consulted when no identifying file types, i.e.
project.clj for leiningen or build.boot for boot, could be found.

As the Clojure CLI is bundled with Clojure itself, it's the default.
In the absence of the Clojure CLI (e.g. on Windows), we fallback
to Leiningen."
  :type '(choice (const 'lein)
                 (const 'boot)
                 (const 'clojure-cli)
                 (const 'shadow-cljs)
                 (const 'gradle))
  :group 'cider
  :safe #'symbolp
  :package-version '(cider . "0.9.0"))

老变量确实带了一个字符串,这是真的。 没有看到完整的堆栈跟踪信息,我无法确定到底是什么问题。 通常,最好在CIDER的问题跟踪器中提出此类问题。

如果有人想知道为什么lein现在使用clojure-cli而不是lein来进行lein项目的REPL-我们的想法是Clojure CLI是我们可以假定每个Clojure用户都拥有的唯一工具,因此它提供了一个更安全的默认值。

试试: (setq cider-jack-in-default 'lein)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM