leiningen repl with profile

时间:2014-04-15 14:09:57

标签: clojure leiningen

这个问题是对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无法加载我的文件。

1 个答案:

答案 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")} ...}} ,则需要将它们/转义。