lein REPL中存在一种奇怪且非常烦人的行为,更不用说经常耗时的行为。
即,如果我使用:reload-all使用命名空间,并且它所需的命名空间有错误,则repl不会告诉我有关它的事情。它只需要所述命名空间的最后一个有效构建,并没有通知我它已经这样做了。
显然,在大多数情况下,这是非常不令人满意的。因为我不会使用:reload-all如果所有命名空间都没有改变,如果它们确实包含错误,我非常想知道它,而不是突然想知道为什么代码我&#39 ;在REPL中执行m似乎与我在屏幕上的代码完全不同。
有没有办法强迫这种行为?
答案 0 :(得分:4)
tools.namespace
图书馆可以为您提供帮助。
(require ... :reload)
通过(require ... :reload-all)
或require
重新加载代码。因此,请尝试使用clojure.tools.namespace/refresh
:
user> (clojure.tools.namespace.repl/refresh)
refresh
它将扫描您的项目中已更改的文件/命名空间,并按正确的顺序重新加载它们及其依赖项。
$sth->execute(array(':user => $username' , ':pass => $user_pass' ));
将在重新加载期间在依赖名称空间中known issues。
此外,请阅读report about errors以了解您的代码使用此库和requirements。