homebrewでMongoDBをMacにInstallする新しい方法と変更された理由

2020-06-27

従来のインストール方法ではエラーが発生してインストール出来ません。MongoDB v4から色々状況が変わったからです。今回はhomebrewでMongoDBをMacにInstallする新しい方法について書きます。

従来の方法

BrewでMacにMongoDBをインストールする時、従来には下記のコマンドで出来ました。

brew install mongodb

しかし、MongoDBがv4からOpen Source Software(以下、OSS)ではなくなったので、今はもうできません。Core Homebrewは、一般的なOSSソフトウェアのインストールフォーミュラを提供しているからです。上記のコマンドを実行すると下記のようなエラーが出ます。

Error: No available formula with the name "mongodb" 
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.

新しい方法

MongoDB V4からはTabsを使います。日本ではタップとも言います。Tabsと言うのは「Third-Partyが提供するインストールフォーミュラをHomebrewで使えるようにする仕組み」です。つまりHomebrewが提供するインストールフォーミュラ以外のソフトウェアをインストール可能にしてくれます。詳細はここでは割愛しますので、公式文書を参考にしてみてください。
https://docs.brew.sh/Taps

このTabsを使った新しいMongoDBのインストールコマンドは下記の通りです。

% brew tap mongodb/brew

==> Tapping mongodb/brew
Cloning into '/usr/local/Homebrew/Library/Taps/mongodb/homebrew-brew'...
remote: Enumerating objects: 91, done.
remote: Counting objects: 100% (91/91), done.
remote: Compressing objects: 100% (77/77), done.
remote: Total 290 (delta 35), reused 33 (delta 14), pack-reused 199
Receiving objects: 100% (290/290), 63.43 KiB | 352.00 KiB/s, done.
Resolving deltas: 100% (127/127), done.
Tapped 9 formulae (37 files, 123.6KB).

あとは「mongodb-community」をインストールするとMongoDBが使えるようになります。

% brew install mongodb-community

==> Installing mongodb-community from mongodb/brew
==> Downloading https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.2.8.tgz
######################################################################## 100.0%
==> Caveats
To have launchd start mongodb/brew/mongodb-community now and restart at login:
  brew services start mongodb/brew/mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb-community/4.2.8: 21 files, 306.3MB, built in 3 seconds

公式文書

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

MongoDBがOSSでなくなった理由

事の顛末である、MongoDBがv4からOSSではなくなった理由は、 AWSなどクラウドベンダの「オープンソースのいいとこ取り」に対抗すべくライセンス変更したのが理由のようです。クラウドベンダがOSSで利益を得るだけで、OSSには貢献していないから。これについて纏まっている記事がありますので興味がある方は見てみてください。
https://www.publickey1.jp/blog/19/redismongodbkafkaaws.html

MongoDB

Posted by YongJin Kim