如果这感觉像我在固执己见,但我在努力系统地解决这个问题(“这是发生的事情,这是我缺少的必要信息”)而不是从解决方案开始(“只需更改一些代码”)以确保我们做的是正确的事情。
到目前为止,您还没有描述一个详细可重复的场景来复制实际的问题。没有这个,我们就没有办法进行以下操作:a) 考虑其他可能的解决方案;b) 测试并验证特定的更改是否解决了问题。您声称这个问题既常见又普遍报道。如果是这样,应该很容易指出这些讨论之一或者描述场景,这正是我所寻求的。
我尝试使用tools.namespace工具来重现这种错误,而我得到那里的唯一方法是使用repl中的require,更改此消息不会给我带来额外的信息
user=> (require '[foo :as bar])
执行错误(IllegalStateException)在user/eval1664(REPL:1)。
别名bar在namespace user中已存在,别名foo
请注意,在Clojure 1.10.0+中,这里的堆栈顶部行未打印,因此您看不到“Namespace”(工具(namespace) README中的示例较旧)。说“别名bar(打算引用foo)在namespace user中已存在,别名foo”不会在理解或解决这个问题时提供任何额外的信息,对吗?