重申一下,我正在运行第一个OS X 10.10测试版,并试图用brew 软件重新安装MongoDB.

运行$ brew install mongodb后,这是输出:

==> Downloading http://downloads.mongodb.org/src/mongodb-src-r2.6.1.tar.gz
==> /usr/local/opt/scons/bin/scons install --prefix=/usr/local/Cellar/mongodb/2.6.1 -j8 --cc=/usr/bin/clang --cxx=/usr/bin/clang++ --osx-version-min=10.10 --full --64
scons: Reading SConscript files ...
Mkdir(".scons/Darwin/nohost")
usage: scons [OPTION] [TARGET] ...

SCons Error: option --osx-version-min: invalid choice: '10.10' (choose from '10.6', '10.7', '10.8', '10.9')

显然,安装包没有配置为10.10版本,因为它还没有向公众发布.

有没有办法在构建过程中手动绕过这个问题?

推荐答案

这可能会在更新版本的MongoDB(https://jira.mongodb.org/browse/SERVER-14204)中得到修复,现在只需修补公式即可.

brew edit mongodb

找到如下所示的块:

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=#{MacOS.version}
]

并将OS X版本min更改为10.9,如下所示:

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=10.9
]

EDIT: Extra step for DP3, DP4, PB1

仍然在文件中,在def install以上添加以下3行.

  def patches
    { :p1 => 'https://gist.githubusercontent.com/LinusU/a1771562fec0201c54cd/raw/98825f9fbe93b8cc524e05a9c0e99864e8301731/mongodb.diff' }
  end

然后执行升级:

brew upgrade mongodb

Mongodb相关问答推荐

Spring Data MongoDB中的@ Transactions(+测试容器)

使用mongosh将大型json文件插入到mongo集合中

MongoDB/Mongoose查询:使用优先约束检索从位置A到位置B的路径

Mongoose 排除数组中包含特定嵌套对象的文档

Tableau 与 Mongo DB Atlas by MongoDB 的连接缓存问题

mongoDB中数组中的聚合和元素

Kotlin 使用初级构造实例化公开类

Golang:如何判断 collection.Find 是否没有找到任何文件?

对 MongoDB 集合中的对象数组进行排序

NodeJS + MongoDB:使用 findOne () 从集合中获取数据

如何构建我只需要打开一次 mongodb 连接的快速应用程序?

Node.js 和 Passport 对象没有方法 validPassword

MongoDB 1.6.5:如何重命名集合中的字段

MongoDB 批处理操作的最大大小是多少?

在 mongoDB 中展平嵌套的 JSON struct

MongoDB + Node JS + 基于角色的访问控制 (RBAC)

Mongodb KeyFile 太开放权限

带有 Java 驱动程序的 MongoDB 聚合

MongoDB:如何在 100 个集合中找到 10 个随机文档?

聚合 $lookup 匹配管道中文档的总大小超过最大文档大小