【问题标题】:Unable to add dependencies or libraries in an existing leiningen project无法在现有 leiningen 项目中添加依赖项或库
【发布时间】:2020-09-10 04:52:50
【问题描述】:

我在 Clojure 项目中使用 cider 和 leiningen。但是我无法在创建后在项目中添加依赖项或任何库。但是当我创建一个新项目并添加相同的库时,我看不到任何错误。这是一个错误还是我做错了什么?

排查问题:

1. 输入新项目名称
2. 在 project.clj 中添加所需的库,然后 lein deps
3. 现在使用添加的库在 src/projectname/core.clj 中编写代码;工作正常。

4.我忘了再添加一个库;所以回到第2步;完毕。然后步骤3;失败了!

5. 现在新建项目lein new projectname2
6. 在project.clj中添加我在projectname中需要的所有库
7. 现在使用添加的库在 src/projectname2/core.clj 中编写代码;工作正常。

【问题讨论】:

  • 您能描述一组最小的步骤来重现您遇到的问题吗?
  • +1 以获得更准确的重现问题的步骤。如果是的话,您是否可以启动一个 repl 并在您的会话中继续运行?也许你的编辑开始了?所以在向 project.clj 添加新的 deps 之后,那些只是在那里,但在运行的 repl 中可见。您必须重新启动该 repl 才能获得新的部门。
  • 有一些方法可以将 deps 热加载到正在运行的 repl 中,但对于初学者来说,坚持重新加载可能会更好。
  • 添加了一些详细的解决问题。

标签: emacs clojure classpath filenotfoundexception leiningen


【解决方案1】:

在 emacs cider 中为使 project.clj 的更改生效,您需要重新启动会话。

最直接的就是退出再重新连接:

M-x cider-quit
M-x cider-jack-in-clj

或者等效的捷径,对我来说是C-c C-q C-c M-j

您也可以重新启动,但请注意,它必须是“硬”重新启动(有关此的好信息:https://metaredux.com/posts/2019/11/07/hard-cider-hard-restart.html

M-x sesman-restart

或者(至少对我而言)C-c C-s r

因此:

  1. lein 新项目名称
  2. 在 project.clj 中添加所需的库,然后添加 lein deps

    2a.如果您当前正在喝苹果酒,请重新启动它

  3. 使用添加的库在 src/projectname/core.clj 中编写代码;工作正常。

  4. 忘记再添加一个库;所以回到第2步;完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    相关资源
    最近更新 更多