mongoコマンドが突然使えなくなった

突然、mongoコマンドが使えなくなってしまいました。

% mongo
zsh: command not found: mongo

MongoDBは、Homebrew Cask Versions で古いバージョンを入れていたので、情報を確認してみます。

% brew info mongodb30
mongodb@3.0: stable 3.0.12 (bottled) [keg-only]
High-performance document-oriented database
https://www.mongodb.org/
/usr/local/Cellar/mongodb@3.0/3.0.12 (18 files, 145.3MB)
  Built from source on 2017-03-11 at 15:22:05
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mongodb@3.0.rb
(途中省略)
If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/mongodb@3.0/bin:$PATH"' >> ~/.zshrc

To have launchd start mongodb@3.0 now and restart at login:
  brew services start mongodb@3.0
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

あれ? mongodb@3.0 に名前が変わったのかな?

そういえば、今朝、brew update したので、それが原因のような。。。

あと、PATHを設定するようにという指示が追加されていますね。

今は特にPATHを設定していなかったはず。

指示のとおりに.zshrcにPATHを追加してみます。

PATH="/usr/local/opt/mongodb@3.0/bin:$PATH"
% which mongo
/usr/local/opt/mongodb@3.0/bin/mongo

解決しました!

あと、サーバー側のプロセスもおかしな状態になっている模様。

% brew services list
Name        Status  User      Plist
mongodb@3.0 stopped

% ps aux | grep mongo
user12345          405   0.0  0.4  3945820  62960   ??  S    木07AM   1:15.11 /usr/local/opt/mongodb30/bin/mongod --config /usr/local/etc/mongod.conf
user12345        13482   0.0  0.0  2432804   2024 s001  S+   10:18AM   0:00.00 grep mongo

サービスは止まっていますが、プロセスが残っています。

プロセスを殺してサービスを起動することにします。

% kill 405

% ps aux | grep mongo
shimotori        13517   0.0  0.0  2432804   1960 s001  R+   10:23AM   0:00.00 grep mongo

% brew services start mongodb@3.0
==> Successfully started `mongodb@3.0` (label: homebrew.mxcl.mongodb@3.0)

% brew services list
Name        Status  User      Plist
mongodb@3.0 started user12345 /Users/user12345/Library/LaunchAgents/homebrew.mxcl.mongodb@3.0.plist

これで正常になりました。

まとめ

brew update はちょっと注意しないといけないですね。

Dockerに移行したくなってきました。