Windows 10下构建Mongo.jl包遇Julia依赖安装错误求助
解决Windows 10下Julia v0.6.2构建Mongo.jl的依赖问题
我之前在旧版本Julia的Windows环境里也碰到过类似的依赖构建失败问题,给你几个能快速解决的办法:
方法一:手动安装libbson和libmongoc二进制文件
既然BinDeps自动拉取依赖失败,咱们手动来:
- 去MongoDB官方渠道下载和你系统位数(32/64位)匹配的libbson和libmongoc Windows二进制包
- 解压后找到里面的
bin文件夹,把所有.dll文件(比如libbson-1.0.dll、libmongoc-1.0.dll这类)复制到以下两个位置之一:- Julia安装目录的
bin文件夹(比如C:\Julia-0.6.2\bin) - Windows系统
PATH环境变量已包含的文件夹(比如C:\Windows\System32)
- Julia安装目录的
- 打开Julia的REPL,重新执行构建命令:
Pkg.build("LibBSON") Pkg.build("Mongo")
方法二:修改BinDeps构建脚本
有时候构建脚本里的自动检测逻辑在Windows上会出问题,你可以手动调整依赖源:
- 找到LibBSON的构建脚本路径:
C:\Users\你的用户名\.julia\v0.6\LibBSON\deps\build.jl - 找到BinDeps声明
libbson依赖的部分,手动添加一个可靠的Windows二进制源(比如某个稳定的GitHub Release下载链接) - 用同样的方法修改Mongo包的构建脚本:
C:\Users\你的用户名\.julia\v0.6\Mongo\deps\build.jl - 保存修改后重新执行构建命令
方法三:安装兼容的特定版本包
Julia v0.6.2是比较旧的版本了,最新的LibBSON和Mongo.jl可能已经不再支持它,你可以试试安装适配旧版本的特定tag:
Pkg.checkout("LibBSON", "v0.4.0") # 这个是适配Julia 0.6的稳定版本示例 Pkg.checkout("Mongo", "v0.6.0") # 搭配对应的Mongo.jl版本 Pkg.build("LibBSON", "Mongo")
你可以去这两个包的GitHub仓库查看release历史,找到适合Julia 0.6.x的版本号。
尝试前的快速检查
- 确保你的Windows系统安装了Visual C++ Redistributable(2015及以后版本),很多原生依赖都需要这个运行库才能正常工作
- 在Julia的REPL里执行
BinDeps.debug("LibBSON")和BinDeps.debug("Mongo"),看看输出里的可用提供程序,有没有可以手动触发的选项(比如本地编译,不过Windows下编译需要MSVC环境,相对麻烦)
内容的提问来源于stack exchange,提问作者Francesco Clementi
相关产品推荐
相关产品推荐

