当前位置: 首页 > 知识库问答 >
问题:

如何在项目目录之外更改Lein的Clojure默认版本?

宋朝
2023-03-14

这是在寻求关于如何更改Clojure或Lein的Clojure默认版本的相同问题的帮助?

但这并不是这个问题的答案。我是否应该把它写在这条线索下作为答案呢?

在项目目录之外发出“(lein repl)”命令时,指定要使用的Clojure版本似乎是一件很自然的事情。当然,不允许它可能有很好的设计原因,但是您是否认为会出现如下错误消息,

当Leiningen检测到~/时显示。莱恩/简档。clj(或其他相关概要文件)指定了不同于硬编码到Leiningen的Clojure版本,

会是个好主意吗?

"specifying the Clojure version to be used with certain software, such as tools.nrepl and clojure-complete, is only allowed when this command is issued within a project directory"

显然,很多人花了很多时间研究堆栈溢出,试图找出如何做到这一点。

参考资料:

>

“我刚才问IRC上的技术人员。他说:"REPL的外部项目被硬编码为lein的Clojure版本。"Feb 24'14 at 19:52”如何更改Clojure或Lein的Clojure默认版本?

"这个^:置换技巧将不适用于tools.nrepl或Clojure完成。"https://github.com/technomancy/leiningen/blob/master/doc/PROFILES.md

如何升级leiningen的nrepl版本?

共有1个答案

许博易
2023-03-14

我认为您可以尝试在项目中声明不同的概要文件。clj,其中每一个都有自己的Clojure版本。例如:

  :profiles
  {;; :default [:base :system :user :provided :dev]
   :server-jvm {:jvm-opts ^:replace ["-server"]}
   :1.5  {:dependencies [[org.clojure/clojure "1.5.1"]]}
   :1.6  {:dependencies [[org.clojure/clojure "1.6.0"]]}
   :1.7  {:dependencies [[org.clojure/clojure "1.7.0"]]}
   :1.8  {:dependencies [[org.clojure/clojure "1.8.0"]]}
   :1.9  {:dependencies [[org.clojure/clojure "1.9.0"]]}}

现在,在运行任何Lein命令时,请指定一个配置文件,如下所示:

lein with-profile 1.7 repl

Clojure 1.7的REPL会话应该启动。

我从胭脂红来源抓到了那块碎片。官方的Lein profiles手册也有同样的例子。

 类似资料:
  • xampp中的php.ini文件位于此处: phpinfo包含以下信息: 配置文件(php.ini)路径C:\WINDOWS 已加载的配置文件(无) 扫描此目录以获取更多信息。ini文件(无) 如何更改目录?

  • 问题内容: 如何在Netbeans 6.9中更改Java SE \ ME \ EE的默认项目目录? 问题答案: 我认为您无法将其设置为特定于模块,但可以将其设置如下: 关闭NetBeans 查找文件。对我来说(Windows) 该变量我想你想改变什么。

  • 问题内容: 我从SVN中签出了一个项目,但未指定项目类型,因此它作为“默认”项目签出。快速将其转换为“ Java”项目的最简单方法是什么? 我正在使用Eclipse版本3.3.2。 问题答案: **打开.project文件,然后添加Java性质和构建器。 在.classpath中,引用Java库: **

  • 每次我在Android Studio中创建新项目时,都会遇到以下构建错误: 我已经知道如何更改项目设置以使用JDK 11,但我想为所有新项目永久解决这个问题。 如何让Android Studio/Gradle在所有新项目中使用JDK 11而不是1.8?

  • 本文向大家介绍Laravel 更改默认应用目录,包括了Laravel 更改默认应用目录的使用技巧和注意事项,需要的朋友参考一下 示例 在某些情况下,您可能希望将应用程序目录重命名为其他名称。在Laravel4中,您可以更改配置条目,这是在Laravel5中完成配置的一种方法。 在此示例中,我们将app目录重命名为src。 覆盖应用程序类 目录名app被硬编码到核心Application类中,因此必

  • 我使用lein new app hello构建了我的项目,所以我有这个结构 我想在我的项目中添加另一个助手模块,这样我就可以在测试和src模块中使用代码,因为我希望它与src目录解耦。 所以我添加了一个助手模块 如何更改我的project.clj文件使lein run编译。当我试图要求帮助者命名空间时,lein run不编译并抛出以下错误。 线程“main”java中出现异常。lang.Class