这个问题是对How does one pre-load a clojure file in the leiningen repl?的跟进。
我的~/.lein/profiles.clj
如下所示:
{
:user {:source-paths ["C:/Users/username/.lein/src"] }
}
我的~/.lein/src/user.clj
可能如下所示:
(ns user)
(println "user file loaded")
当我在包含lein repl
的文件夹中运行project.clj
时,会执行user.clj
文件,但是当我从另一个文件夹运行lein repl
时,它不会加载我的用户资料。是否有针对此的解决方法或设计的这种行为?事实上,我知道Leinigen确实正在加载我的profile.clj
(即使没有project.clj),因为里面还有其他东西(取自优秀的pimp my repl文章)。 Leinigen只是在我的其他源路径设置方面遇到了问题。
与此相关的另一个问题是,我需要为user.clj
文件指定文件夹的完整路径:"C:/Users/username/.lein/src"
。当我将其更改为"~/.lein/src"
时,leiningen无法加载我的文件。
答案 0 :(得分:5)
听起来你只想为你的lein repl
会话加载一些代码。这是使用:init
中:repl-options
的{{1}}密钥完成的。如果您想以这种方式组织,可以profiles.clj
load-file
中的其他文件。
init
注意:如果您使用的是Windows风格的路径分隔符{:user
{:repl-options
{:init (load-file "path-to-file/user.clj")}
...}}
,则需要将它们/
转义。