Windows下lein-datomic启动失败:找不到bin/transactor文件排查
解决Windows下lein-datomic启动Datomic找不到transactor的问题
我之前在Windows环境用Datomic Free 0.9.5697和lein-datomic 0.2.0时,也碰到过完全一样的报错!大概率是Windows路径格式和插件的路径解析逻辑不匹配导致的,当然也可能是install-location的配置细节没做对,咱们一步步排查:
1. 先确认profiles.clj的路径配置是否正确
Windows的路径写法很容易踩坑,这里要注意两个关键细节:
- 不能直接用Windows默认的反斜杠
\,得换成正斜杠/,或者用双反斜杠\\做转义。比如你的Datomic解压在C:\datomic-free-0.9.5697,正确的配置应该是:
或者:{:user {:plugins [[lein-datomic "0.2.0"]] :datomic {:install-location "C:/datomic-free-0.9.5697"}}}{:user {:plugins [[lein-datomic "0.2.0"]] :datomic {:install-location "C:\\datomic-free-0.9.5697"}}} - 必须保证路径指向Datomic的根目录——也就是直接包含
bin、config、lib这些文件夹的目录,不能只写到父文件夹(比如C:\或者C:\datomic都不行)。
2. 手动验证transactor的可执行性
先排除文件本身的问题:
打开命令提示符,切换到你配置的Datomic根目录,直接运行bin\transactor.cmd(Windows下必须加.cmd后缀),看能不能正常启动transactor。如果能启动,说明文件本身没问题,就是lein-datomic插件的调用逻辑没适配Windows的后缀规则。
3. 临时替代方案:跳过lein-datomic直接启动
如果上面的配置还是没解决,可以先绕开插件,直接用命令行启动Datomic,保证服务能跑起来:
cd C:\datomic-free-0.9.5697 bin\transactor.cmd config/samples/free-transactor-template.properties
等服务正常启动后,再回头调试lein的配置也不迟。
4. 检查lein版本兼容性
确认你的lein版本和lein-datomic 0.2.0兼容——一般lein 2.x系列是没问题的,但如果用了太旧(比如lein 1.x)或者太新的版本,可能会出现路径解析的冲突,可以尝试切换到稳定的lein 2.x版本再试。
内容的提问来源于stack exchange,提问作者JRM
相关产品推荐
相关产品推荐

