1

今天尝试让 slimv 运行,但遇到了问题。这些是我经历的步骤:

  • 安装的clojure 1.3.0:brew update && brew install clojure
  • 设置 swank-clojure:lein plugin install swank-clojure 1.3.3
  • 克隆的 slimv:hg clone ssh://hg@bitbucket.org/kovisoft/slimv
  • 重新启动 macvim,打开现有的 clojure 项目,验证 slimv 菜单显示
  • 启动了一个时髦的服务器lein swank
  • 试图从 macvim 连接到它。此错误出现在运行 swank 的终端中:

    exception in read loop
    java.lang.Exception: Error reading swank message
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at clojure.lang.Compiler$NewExpr.eval(Compiler.java:2100)
    at clojure.lang.Compiler$DefExpr.eval(Compiler.java:361)
    at clojure.lang.Compiler.eval(Compiler.java:5429)
    at clojure.lang.Compiler.load(Compiler.java:5857)
    at clojure.lang.RT.loadResourceScript(RT.java:340)
    at clojure.lang.RT.loadResourceScript(RT.java:331)
    at clojure.lang.RT.load(RT.java:409)
    at clojure.lang.RT.load(RT.java:381)
    at clojure.core$load$fn__4519.invoke(core.clj:4915)
    at clojure.core$load.doInvoke(core.clj:4914)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:4729)
    at clojure.core$load_lib.doInvoke(core.clj:4766)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:542)
    at clojure.core$load_libs.doInvoke(core.clj:4804)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:544)
    at clojure.core$use.doInvoke(core.clj:4892)
    at clojure.lang.RestFn.invoke(RestFn.java:436)
    at swank.core.connection$eval174$loading__4414__auto____175.invoke(connection.clj:1)
    at swank.core.connection$eval174.invoke(connection.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:5424)
    at clojure.lang.Compiler.eval(Compiler.java:5415)
    at clojure.lang.Compiler.load(Compiler.java:5857)
    at clojure.lang.RT.loadResourceScript(RT.java:340)
    at clojure.lang.RT.loadResourceScript(RT.java:331)
    at clojure.lang.RT.load(RT.java:409)
    at clojure.lang.RT.load(RT.java:381)
    at clojure.core$load$fn__4519.invoke(core.clj:4915)
    at clojure.core$load.doInvoke(core.clj:4914)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:4729)
    at clojure.core$load_lib.doInvoke(core.clj:4766)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:542)
    at clojure.core$load_libs.doInvoke(core.clj:4804)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:544)
    at clojure.core$use.doInvoke(core.clj:4892)
    at clojure.lang.RestFn.invoke(RestFn.java:457)
    at swank.core$eval46$loading__4414__auto____47.invoke(core.clj:1)
    at swank.core$eval46.invoke(core.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:5424)
    at clojure.lang.Compiler.eval(Compiler.java:5415)
    at clojure.lang.Compiler.load(Compiler.java:5857)
    at clojure.lang.RT.loadResourceScript(RT.java:340)
    at clojure.lang.RT.loadResourceScript(RT.java:331)
    at clojure.lang.RT.load(RT.java:409)
    at clojure.lang.RT.load(RT.java:381)
    at clojure.core$load$fn__4519.invoke(core.clj:4915)
    at clojure.core$load.doInvoke(core.clj:4914)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:4729)
    at clojure.core$load_lib.doInvoke(core.clj:4766)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:542)
    at clojure.core$load_libs.doInvoke(core.clj:4800)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:544)
    at clojure.core$use.doInvoke(core.clj:4892)
    at clojure.lang.RestFn.invoke(RestFn.java:512)
    at swank.swank$eval40$loading__4414__auto____41.invoke(swank.clj:1)
    at swank.swank$eval40.invoke(swank.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:5424)
    at clojure.lang.Compiler.eval(Compiler.java:5415)
    at clojure.lang.Compiler.load(Compiler.java:5857)
    at clojure.lang.RT.loadResourceScript(RT.java:340)
    at clojure.lang.RT.loadResourceScript(RT.java:331)
    at clojure.lang.RT.load(RT.java:409)
    at clojure.lang.RT.load(RT.java:381)
    at clojure.core$load$fn__4519.invoke(core.clj:4915)
    at clojure.core$load.doInvoke(core.clj:4914)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:4729)
    at clojure.core$load_lib.doInvoke(core.clj:4766)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:542)
    at clojure.core$load_libs.doInvoke(core.clj:4800)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:542)
    at clojure.core$require.doInvoke(core.clj:4881)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at user$eval27.invoke(NO_SOURCE_FILE:1)
    at clojure.lang.Compiler.eval(Compiler.java:5424)
    at clojure.lang.Compiler.eval(Compiler.java:5415)
    at clojure.lang.Compiler.eval(Compiler.java:5391)
    at clojure.core$eval.invoke(core.clj:2382)
    at clojure.main$eval_opt.invoke(main.clj:235)
    at clojure.main$initialize.invoke(main.clj:254)
    at clojure.main$null_opt.invoke(main.clj:279)
    at clojure.main$main.doInvoke(main.clj:354)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.lang.Var.invoke(Var.java:369)
    at clojure.lang.AFn.applyToHelper(AFn.java:163)
    at clojure.lang.Var.applyTo(Var.java:482)
    at clojure.main.main(main.java:37)
    

有任何想法吗?我还尝试使用 swank-clojure 1.2.1 和 clojure 1.2。

4

2 回答 2

3

macvim 中似乎存在与 python 相关的问题(例如,请参见此线程)。有些 macvim 快照有效,有些则无效。一个用户试图编译一个与 2.6 而不是 2.7 链接的 python 支持的段错误的快照,它解决了崩溃问题。所以肯定是python 2.7绑定的问题,可以的话试试改成2.6。

您可以通过以下命令在 vim 中验证 python 版本:

:python import sys
:python print sys.version_info

但是,我不确定您是否有同样的问题,因为您没有提到任何段错误,但也许区别在于您使用 clojure 而不是 clisp。

于 2011-10-23T16:33:33.080 回答
1

今天(2012.05.15)

brew install macvim

无法工作 Slimv(64 位)。

但是从http://code.google.com/p/macvim/安装下载 MacVim 7.3 (snapshot 64) for Mac OS X Lion。(2012 年 1 月 2 日发布。)虽然我只尝试了 ccl 和 sbcl,但它确实有效!如果您使用 OS X Lion,请尝试一下。

于 2012-05-15T15:25:25.373 回答