我正在尝试使用environ 1.2.0在project.clj中创建环境变量以供codox使用,但未能成功。
我在profiles.clj中有以下内容:
{:dev {:env {:doc-dir "/home/me/some/dir"}}}
到目前为止,一切正常:.line-env
已正确创建,我可以在repl中获取值。
然而,我无法在project.clj中获取该值。
(defproject ....
:codox {:output-path (environ.core/env :doc-dir) })
我从lein codox
获得了一个错误:
Syntax error (IllegalArgumentException) compiling at (/tmp/form-init13693313479173922228.clj:1:74).
No implementation of method: :as-file of protocol: #'clojure.java.io/Coercions found for class: clojure.lang.PersistentList
如果我移除对environ.core的调用,codox就能正常工作。
我错在哪里了?
environ
。但是请看下面的答案,这才是正确的方法。 - gash