如何在Clojure项目本地将外部依赖安装到./deps文件夹?
在Clojure中指定依赖下载到项目本地./deps目录
你之前用的:local/root是用来引用本地已存在的依赖模块(比如你本地开发的其他项目),并不是用来控制远程依赖的下载路径,所以设置后不会改变依赖的存储位置。
要把依赖下载到项目同级的./deps目录,需要通过控制Maven本地仓库路径来实现(Clojure CLI底层依赖Maven的仓库管理机制),具体方法如下:
临时生效方式
运行Clojure命令时,直接指定M2_REPO环境变量为当前项目的./deps目录:
M2_REPO=./deps clj
执行后,所有远程依赖会被下载到项目根目录下的./deps文件夹中。
持久化生效方式
如果希望每次进入项目目录都自动应用这个设置,可以用direnv工具:
- 在项目根目录创建
.envrc文件,写入:export M2_REPO=./deps - 运行
direnv allow让配置生效,之后每次进入项目目录,M2_REPO会自动被设置,运行clj时依赖就会下载到./deps目录。
如果不想用direnv,也可以在每次启动终端进入项目后手动执行export M2_REPO=./deps,再运行Clojure命令。
内容的提问来源于stack exchange,提问作者user2517182
相关产品推荐
相关产品推荐

