【发布时间】:2016-01-03 22:06:39
【问题描述】:
我大部分时间都在使用 figwheel,然后在重新启动后(不是第一次)突然开始编译失败。
我在运行lein figwheel 时收到以下消息。
Figwheel: Starting server at http://localhost:3449
Figwheel: Watching build - dev
[0mCompiling "resources/public/js/compiled/game.js" from ["src"]...
{:file #object[java.net.URL 0x79b3937a "file:/home/dan/dev/org/danjoe/game/src/game/state.cljs"], :line 1, :column 1, :tag :cljs/analysis-error}
ANALYSIS ERROR: at line 1 file:/home/dan/dev/org/danjoe/game/src/game/state.cljs on file file:/home/dan/dev/org/danjoe/game/src/game/state.cljs, line 1, column 1
Subprocess failed
我检查了一些之前的稳定代码,但仍然失败。
我把~/.m2 目录中的所有内容都清空了,然后又去了。我检查了一个新的 repo 副本并在那里得到了同样的错误。
错误中唯一有意义的部分是在某个文件的第 1 行对 ANALYSIS ERROR 的引用——为了我的理智,这里是。
(ns game.state
(:refer-clojure :exclude [get])
(:require [reagent.core :as reagent]
[game.views.heroes :as default-view]))
如果我转到该文件并故意破坏命名空间(将其切换为不正确的名称)然后再次运行lein figwheel,则分析错误只是切换到指向我项目中的另一个文件。如果我破坏了所有的命名空间,它就会开始为第 2 行(或下一个 s 表达式所在的位置)抛出分析错误。
这是项目依赖项。
:dependencies [[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "1.7.170"]
[org.clojure/core.async "0.2.374"]
[reagent "0.5.0"]
[secretary "1.2.0"]]
还有我正在使用的插件。
:plugins [[lein-cljsbuild "1.1.1"]
[lein-figwheel "0.5.0-1"]]
【问题讨论】:
-
删除
.m2永远不会有帮助 - 工件一旦发布就不可更改。 Clojurescript 经常错误地缓存部分结果。使用lein clean获得没有任何缓存的全新编译。 -
是的,
lein clean首先出现。忘了提。我今天切换到 clojars 镜像,想知道是否存在不可靠的网络连接会导致下载到.m2时出错。
标签: clojure clojurescript leiningen figwheel