如何在Clojure中要求依赖关系?

如何在Clojure中要求依赖关系?,clojure,clojure-testing,Clojure,Clojure Testing,关于Clojure项目中的依赖关系,我有两个问题 是否有类似于:dev dependencies或:test dependencies的东西,这样我就不必在lein run上下载它们了?所以,在我运行测试之前,我不需要这些额外的库 我可以在一个文件中加载依赖项,并在另一个文件中需要此文件吗?我想要一些类似的: ; dependencies.clj ; ... (:require [clj-http.client :as client] [clj-http.fake :refer :al

关于
Clojure
项目中的依赖关系,我有两个问题

  • 是否有类似于
    :dev dependencies
    :test dependencies
    的东西,这样我就不必在
    lein run
    上下载它们了?所以,在我运行测试之前,我不需要这些额外的库

  • 我可以在一个文件中加载依赖项,并在另一个文件中需要此文件吗?我想要一些类似的:

    ; dependencies.clj
    ; ...
    
    (:require [clj-http.client :as client]
      [clj-http.fake   :refer :all]
      [clojure.test   :refer :all]))
    
    
    ; some-file.clj
    ; ...
    
    (:require [dependencies :refer :all[)
    
  • 1) 是的,莱宁根只提供这些

    2) 不,来自一个命名空间的引用不会在命名空间之间“继承”。您不能表示“我想引用这个名称空间中的所有内容,其他名称空间引用的所有内容”

    1)是的,Leiningen仅提供这些内容


    2) 不,来自一个命名空间的引用不会在命名空间之间“继承”。您不能表示“我想引用这个名称空间中的所有内容,其他名称空间引用的所有内容”

    关于您的第2点,可以帮助您做到这一点。如果您有多个名称空间实现库的功能,但又想向库的用户提供单个名称空间,则Potemkin特别有用。

    关于第2点,可以帮助您做到这一点。如果您有多个名称空间来实现库的功能,但又想向库的用户提供一个名称空间,则Potemkin尤其有用。

    您可以使用
    加载文件
    for#2;我还没有试过用这种方式。这是一个非标准的策略,我想人们会告诉你不要这样做,但如果它起作用,我不知道为什么它实际上会不好;我还没有试过用这种方式。这是一个非标准的策略,我想人们会告诉你不要这样做,但如果它起作用,我不知道为什么它实际上会不好。下面是解释:下面是解释: