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