1

刚开始一个新的 Clojure 项目并遇到一些问题,让 LightTable 可以很好地发挥作用。app/REPL 使用lein ring server/ lein repletc 可以正常运行,但尝试连接到 LightTable 中的任何文件只会让蓝色微调器保持在旋转状态……即使在它表示已连接之后也是如此。

这些是我的部门(使用 LightTable 1.5.4 - 刚刚从 1.4.something 更新,它正在做同样的事情)

(defproject clollo "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [compojure "1.1.5"]
                 [trello "0.1.1-SNAPSHOT"]]
  :plugins [[lein-ring "0.8.5"]]
  :ring {:handler clollo.handler/app}
  :profiles
  {:dev {:dependencies [[ring-mock "0.1.5"]]}})

有问题的文件是

(ns clollo.handler
  (:use compojure.core)
  (:require [compojure.handler :as handler]
            [compojure.route :as route]
            [trello.core]))

(defroutes app-routes
  (GET "/" [] "Hello Wo1rld")
  (route/resources "/")
  (route/not-found "Not Found"))

(def app
  (handler/site app-routes))

(+ 1 1) ;; test LightTable eval!

然后我尝试摆脱所有调试要求等,所以我有一个新文件

(ns clollo.ihopethisworks)

(+ 1 1) ;; this doesn't work either

有任何想法吗?正如我所说,LightTableInstaRepl本身工作正常,LightTable正在连接窗口中连接到该项目project.clj。当它试图评估任何东西时只是旋转。

谢谢!

4

1 回答 1

2

通过测试您的示例代码,看起来[trello.core]handler.clj 文件中的 require 项导致了问题。该库似乎clj-http在 Light Table 中进行初始化时存在问题。

此外,LT v0.5.x 还存在一个问题,在某些情况下,工作指示器会在操作完成后继续旋转。您可以使用该Statusbar: Reset working indicator命令来停止它。

于 2013-09-30T15:09:51.027 回答