使用OS X 10.10 Yosemite Beta重新安装带有Homebrew的MongoDB

jos*_*ara 29 macos homebrew scons mongodb osx-yosemite

重申一下,我正在运行第一个OS X 10.10测试版,并试图用Homebrew重新安装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')
Run Code Online (Sandbox Code Playgroud)

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

有没有办法在构建过程中手动绕过它?

Lin*_*äck 89

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

brew edit mongodb
Run Code Online (Sandbox Code Playgroud)

找到如下所示的块:

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=#{MacOS.version}
]
Run Code Online (Sandbox Code Playgroud)

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

args = %W[
  --prefix=#{prefix}
  -j#{ENV.make_jobs}
  --cc=#{ENV.cc}
  --cxx=#{ENV.cxx}
  --osx-version-min=10.9
]
Run Code Online (Sandbox Code Playgroud)

编辑:DP3,DP4,PB1的额外步骤

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

  def patches
    { :p1 => 'https://gist.githubusercontent.com/LinusU/a1771562fec0201c54cd/raw/98825f9fbe93b8cc524e05a9c0e99864e8301731/mongodb.diff' }
  end
Run Code Online (Sandbox Code Playgroud)

然后执行升级:

brew upgrade mongodb
Run Code Online (Sandbox Code Playgroud)

  • 这对我没有帮助.'生成了2个错误.scons:***[build/darwin/64/cc__usr_bin_clang/cxx__usr_bin_clang ++/osx-version-min_10.9/third_party/s2/s2cellid.o]错误1 scons:由于错误导致建筑终止. (3认同)