- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
简短版本:在使用 lein swank 启动 swank 服务器时运行 M-x slime-connect 或 M-x clojure-jack-in 时出错。
我在 Ubuntu 10.10 上使用 emacs 24.0.50.1。我已经在 ELPA 的 emacs 中安装了以下软件包:clojure-mode、paredit、slime、slime-repl
我从 github 安装了 leiningen 并将其添加到类路径中,然后运行lein plugin install swank-clojure 1.3.3
.
之后,我创建了一个新目录 ~/tmp/,cd 到其中并运行:lein new test-project
这似乎设置一切正常。然后我在 emacs 中打开/tmp/new-project/project.clj 并将其更改为:
(defproject test-project "1.0.0-SNAPSHOT"
:description "Test Project"
:dependencies [[org.clojure/clojure "1.2.1"]
[org.clojure/clojure-contrib "1.2.0"]]
:dev-dependencies [[swank-clojure "1.3.3"]])
lein deps
然后
lein swank
下载依赖项并启动提供输出的 swank 服务器:
Connection opened on local port 4005.
M-x slime-connect
这给出了错误:
Symbol's function definition is void: define-slime-contrib
M-x clojure-jack-in
我假设它尝试在项目文件夹中启动 clojure REPL,但这给出了以下内容:
Debugger entered--Lisp error: (error "Could not start swank server: sh: lein: not found
")
signal(error ("Could not start swank server: sh: lein: not found\n"))
error("Could not start swank server: %s" "sh: lein: not found\n")
clojure-jack-in-sentinel(#<process swank> "exited abnormally with code 127\n")
/.lein/bin/swank-clojure
然后打开emacs,打开project.clj,试了一下
M-x slime-connect
,现在要求我提供主机(本地默认值),端口(默认值 4005),说连接到 swank,给出有关 swank 和 slime 版本不同(y 或 n)y 的消息,然后 minibuffers 给出
error in process filter: Lisp connection closed unexpectedly
.在我运行的终端
/.lein/bin/swank-clojure
弹出以下java错误:
exception in read loop
java.lang.NumberFormatException: For input string: " a6"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:470)
at swank.core.protocol$read_swank_message.invoke(protocol.clj:41)
at swank.core.connection$read_from_connection.invoke(connection.clj:59)
at swank.core$read_loop.invoke(core.clj:337)
at swank.swank$connection_serve$fn__1486$fn__1487.invoke(swank.clj:32)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:540)
at swank.swank$connection_serve$fn__1486.doInvoke(swank.clj:29)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:636)
M-x clojure-jack-in
并准备做一些工作!
最佳答案
您不需要安装 slime 和 slime-repl:它们已嵌入到 lein 的插件中(参见 jar 内部:swank-clojure-1.4.0-SNAPSHOT.jar\swank\payload)。你只需要安装clojure-mode。
另外,在“重新安装”时,请记住同时删除 $HOME 目录中的隐藏文件夹 .emacs.d,否则它会保留您之前下载的 Emacs 插件。
最后更喜欢clojure-jack-in,而不是slime-connect——仅仅有slime-connect意味着你在Emacs中仍然有一个Slime,所以你没有删除它。
关于emacs - 使用 leiningen 为 clojure 设置 emacs/slime/swank,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7864659/
我是 Lisp 的新手,在 Emacs 和 Slime 中工作时,我经常遇到这个错误 Error: The variable SWANK/SBCL::*SWANK-DEBUGGER-CONDITION
我的肤浅理解是“swank-clojure”使“M-x slime-connect”成为可能。我的意思是,它提供了与 clojure 服务器的连接,类似于“lein swank”。我的理解正确吗?如果
如何让 swank 忘记所有之前评估过的定义? 我希望它取消定义通过评估定义的所有宏、函数和变量(例如 ,b 评估缓冲区)。并让它恢复到与我重新启动 PC 并重新启动 swank 服务器时相同的状态。
Emacs SLIME 无法连接到 swank,因为显然 swank 无法正确初始化。它说一些后端功能没有实现。但是,我的沼泽后端是受支持的 SBCL。我正在使用 Windows XP 操作系统。在以
在启动 swank 服务器时没有设置要绑定(bind)到的地址的参数: * (describe 'swank:create-server) => ... Lambda-list: (&KEY (
假设我正在以交互模式(“lein interactive”)运行 Leiningen 并启动了一个 Swank Clojure 服务器(“swank”)。现在我想在不杀死 Leiningen 的情况下
当尝试 M-x slime-connect 到在 clojure 应用程序中运行的 swank 服务器时,我收到一个 user> 提示,但是一旦我开始键入应用程序抛出时连接中断: exception
我有问题。我已经使用果酱安装了 clojure、slime、slime-repl 和 elein。现在我打开我的项目并调用 elein-swank。我明白了: Starting swank.. err
我要转到 Emacs 来处理 Clojure/Lisp。 我需要在 Emacs 上设置哪些信息才能执行以下操作? 自动匹配/生成相应的右括号 自动缩进 Lisp/Clojure 风格,而不是 C++/
这是我的项目.clj: (defproject hello-world "1.0.0-SNAPSHOT" :description "FIXME: write description"
我想将我的 swank 服务器输出重定向到 emacs 缓冲区。我把它放在 ~/.swank.lisp 中,但这不起作用- (setf swank:*globally-redirect-io* t)
似乎每当我与 clojure slime session 断开连接时,我就无法再次重新连接。我正在使用 leiningen 启动 swank session (使用 lein-swank 插件)。因此
我正在尝试将 swank-clojure repl 嵌入到我的应用程序中,以便在应用程序运行时进行连接以解决问题。但是,我在启动 repl 后无法弄清楚如何访问封闭环境。 嵌入 swank-cloju
我已将此代码片段添加到我的 stumpwmrc 文件中: (defun load-swank () "Load a swank server" (ql:quickload 'swank)
我正在尝试从命令行使用 Swank 服务器(没有特定的生产目的,只是试图理解一些事情,并考虑一些 hacky 的想法以备后用),但我无法弄清楚我可以从telnet session 以获得任何可用的答案
我经常发现自己从 REPL 开始一些长时间运行的进程,然后希望我可以在 REPL 运行时继续使用 REPL 执行其他任务。 我可以使用 slime 作为当前线程的后台或启动一个新的 REPL 控制线程
当我在 emacs 中从 Swank repl 运行 Clojure 代码时,主线程将使用 printf 将消息打印到 repl。但是,如果我运行代理或显式创建也打印的其他线程,有时输出不会显示,有时
假设我使用 swank/slime 连接到远程 Lisp。我的本地机器上有一个数据文件在磁盘上,或者在 emacs 缓冲区中。我想使用远程 Lisp 处理这个文件。 我显然可以退出 shell 并将文
当我开始通过 leiningen 时,它接受下一个粘液连接,然后我就走了。我真的很想让几个 emacs 实例连接到同一个 swank 实例。我可以这样做吗?我可以通过 leiningen 做到这一点吗
攻击 Clojure 库有典型的工作流程吗? 假设我的应用程序“Foo”依赖于第三方库“Bar”,该库是从存储库获取的,并通过 lein deps 包含在项目 Foo 中。 然后,假设我想破解“Bar
我是一名优秀的程序员,十分优秀!