leinigen repl with profile

sha*_*aft 5 clojure leiningen

这个问题是一个跟进如何在leiningen repl中预加载clojure文件?.

~/.lein/profiles.clj看起来如下:

{  
  :user {:source-paths ["C:/Users/username/.lein/src"] }
}
Run Code Online (Sandbox Code Playgroud)

我的~/.lein/src/user.clj看法如下:

(ns user)

(println "user file loaded")  
Run Code Online (Sandbox Code Playgroud)

当我lein repl在包含a的文件夹中运行时project.clj,则user.clj执行该文件,但是当我lein repl从另一个文件夹运行时,它不会加载我的用户配置文件.是否有针对此的解决方法或设计的这种行为?事实上,我知道Leinigen确实加载了我profile.clj(即使没有project.clj),因为里面还有其他东西(取自优秀的pimp我的repl文章).Leinigen只是遇到了我的额外源路径设置问题.

与此相关的另一个问题是我需要为我的user.clj文件指定文件夹的完整路径:"C:/Users/username/.lein/src".当我改变为"~/.lein/src"leiningen无法加载我的文件.

A. *_*ebb 5

听起来您只想为lein repl会话加载一些代码。这是通过中的:init键完成:repl-optionsprofiles.clj。如果要以这种方式进行组织,则可以load-file放入其他文件init

{:user 
  {:repl-options 
    {:init (load-file "path-to-file/user.clj")} 
     ...}} 
Run Code Online (Sandbox Code Playgroud)

注意:如果您使用的是Windows风格的路径分隔符/,则需要对其进行转义//