Clojure - 在项目中需要多个版本的库

时间:2015-09-12 14:30:31

标签: clojure

所有内容都在标题中,但这是一个示例用例:

函数有第一个参数,如下所示:

(my-fn "a.b.c" ...)

现在新版本变为:

(my-fn ... ["a", "b", "c"])

是否可以:require特定版本的库? 例如:

:require my.util.lib :as newlib     ;; new version
:require my.util.lib@v0.0.1 :as lib ;; old library

然后它将允许每个文件迁移此库使用文件。

1 个答案:

答案 0 :(得分:3)

正如评论中所提到的,我认为Osgi是实现这一目标的唯一真正方法,并且可能不值得设置它的复杂性。

您使用的库有哪些版本?如果它遵循语义版本控制实践,并且它仍然在具有重大变化的版本上,那么您必须为此类事情做好准备,并且可能只需更新您的代码。