MacCatalinaアップデートを終えてmongoで起動しようとしたところ
command not found
、、え?消えた?
めちゃくちゃ焦りました。
% mongo -version
をしても表示されません。
% brew install mongodb-community
を実行しても
Error: No available formula with the name "mongodb"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
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.
achan@achan ~ %
なんてエラーが出る始末。
泣きながら今回も対処しましたので参考にしてみてください。
こんな方におすすめ
- Catalinaアップデート後MongoDBが不具合を起こしている方
- mongodbでエラーが起きている方
MongoDBが消えたように見えるだけ!?対処法
結論から言うとこの流れで実行したら無事MongoDBをインストールできました。
brew tap mongodb/brew
brew install mongodb-community
一回タップする必要があったんですね。
git -C "$(brew --repo homebrew/core)" fetch --unshallowをしてもerror: cannot open .git/FETCH_HEAD: Permission deniedが出てくる
途中で
git -C "$(brew --repo homebrew/core)" fetch --unshallow
してねみたいな警告が出てきて実行しても
error: cannot open .git/FETCH_HEAD: Permission denied
が出てきました。
Gitの権限の問題なので、また別なのでめんどくさいな、、と思っていいたのですがそもそもこの問題も
brew tap mongodb/brew
をすれば一発で解決しましたw
brew tapって何?
今回ポイントとなったbrew tapですがどんな意味があるのでしょうか?
せっかくなので解説します。
簡潔に言えば
「公式以外のリポジトリをbrewで操作できるようにするよ」
と言う意味合いがあります。
先ほどのエラーに戻りましょう。
冒頭で
Error: No available formula with the name "mongodb"
と出ていますよね?
mongodbに関する公式のフォーミュラ(ルール)がないよ。と警告してくれています。
ここでbrew tapをしてあげることで公式以外でも使えるようになるというイメージなのかなと思います。
(もし違ったら指摘よろしくお願いいたします。)
追記:exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /usr/local/var/mongodb/, terminatingが出てきた時
% sudo chown -R $USER /usr/local/var/mongodb/
してみて
% mongod --dbpath /usr/local/var/mongodb/
で起動してみてください。
/usr/local/var/mongodb/の部分は
% vim /usr/local/etc/mongod.conf
した時出てくるdbPathにしてください!
人によって違います。
無事インストールできたMongoDBにはアプデ前と同じデータが入っていた
Catalinaアップデート後に再び使えるようになったMongoDB。
show dbsを実行するとアプデ前のデータが全部残っていました。
つまりは消えたように見えただけでした。
Macのアップデートに伴い、不調がみられるところがあるかもしれません。
皆さんも何か経験しましたら教えていただければありがたいです。
Twitterから気軽にご連絡ください!