MailCatcher が気付いたら動かなくなってたので入れ直した。
最近は mailtrap を使っているので、MailCatcher は使わなくなってたのですが、 php.ini の sendmail に直接設定して使いたい案件がでてきたので久しぶりに MailCatcher を使おうとしたら動かなくなってた。
以前入れて動いてたので、普通に mailcatcher を呼んだところ、そんなコマンドないと言われてしまう。
$ mailcatcher zsh: command not found: mailcatcher
パスが通らなくなったのかと検索してみるもでてこない。 ってかファイル数多すぎのかなかなか終わらないので途中で止めた…。
$ sudo find / -name mailcatcher ^C
ないのなら入れてやろうとインストールしてみたところエラー。
$ sudo gem install mailcatcher Building native extensions. This could take a while... ERROR: Error installing mailcatcher: ERROR: Failed to build gem native extension. current directory: /Library/Ruby/Gems/2.0.0/gems/eventmachine-1.0.9.1/ext /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby -r ./siteconf20170925-22868-1pumnwa.rb extconf.rb mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h extconf failed, exit code 1 Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/eventmachine-1.0.9.1 for inspection. Results logged to /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-16/2.0.0/eventmachine-1.0.9.1/gem_make.out
とりあえず、El Capitan になった際に rootless という概念ができたという情報があるが、 rbenv 使っていれば問題ないとあったのとエラーメッセージから違うかなっとスルー。
調べてみるもこれっていうのがでてこないので、 ruby から入れ直してみようかと、一番新しいバージョンをインストール!
$ rbenv install 2.3.1 Downloading ruby-2.3.1.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2 Installing ruby-2.3.1... BUILD FAILED (OS X 10.12.6 using ruby-build 20160426) Inspect or clean up the working tree at /var/folders/lq/c0x8lzm12rvffxb0hj8qpf1h0000gn/T/ruby-build.20170926163410.43398 Results logged to /var/folders/lq/c0x8lzm12rvffxb0hj8qpf1h0000gn/T/ruby-build.20170926163410.43398.log Last 10 log lines: Referenced from: /private/var/folders/lq/c0x8lzm12rvffxb0hj8qpf1h0000gn/T/ruby-build.20170926163410.43398/ruby-2.3.1/./miniruby Expected in: /usr/lib/libSystem.B.dylib dyld: Symbol not found: _utimensat Referenced from: /private/var/folders/lq/c0x8lzm12rvffxb0hj8qpf1h0000gn/T/ruby-build.20170926163410.43398/ruby-2.3.1/./miniruby Expected in: /usr/lib/libSystem.B.dylib make: *** [.rbconfig.time] Abort trap: 6 make: *** Waiting for unfinished jobs.... encdb.h updated
はい。エラーです。
Xcode8環境下でrbenvにてrubyのコンパイルに失敗する - Qiita
Xcode の必要なツールをインストールすればよさそう。
$ xcode-select --install xcode-select: note: install requested for command line developer tools
Xcode のツールをインストールしたので、ruby をインストールする前に、 もう一度 MailCatcher をインストールしてみます。
$ sudo gem install mailcatcher Building native extensions. This could take a while... Successfully installed eventmachine-1.0.9.1 Fetching: mime-types-data-3.2016.0521.gem (100%) Successfully installed mime-types-data-3.2016.0521 Fetching: mime-types-3.1.gem (100%) Successfully installed mime-types-3.1 Fetching: mail-2.6.6.gem (100%) Successfully installed mail-2.6.6 Fetching: rack-1.6.8.gem (100%) ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/rackup
はい。エラーです。
しかし、エラーメッセージが今までと変わりました。
このエラーは調べてた時に見ましたね。
MacOSX El Capitanでcocoapodsインストールが出来ない時の対処法 - Qiita
rootless が原因のようなので、書いてあるとおりパスを指定してインストールします。
$ sudo gem install -n /usr/local/bin mailcatcher Successfully installed rack-1.6.8 Fetching: tilt-2.0.8.gem (100%) Successfully installed tilt-2.0.8 Fetching: rack-protection-1.5.3.gem (100%) Successfully installed rack-protection-1.5.3 Fetching: sinatra-1.4.8.gem (100%) Successfully installed sinatra-1.4.8 Fetching: daemons-1.2.4.gem (100%) Successfully installed daemons-1.2.4 Fetching: thin-1.5.1.gem (100%) Building native extensions. This could take a while... Successfully installed thin-1.5.1 Fetching: skinny-0.2.4.gem (100%) Successfully installed skinny-0.2.4 Fetching: mailcatcher-0.6.5.gem (100%) Successfully installed mailcatcher-0.6.5 Parsing documentation for rack-1.6.8 Installing ri documentation for rack-1.6.8 Parsing documentation for tilt-2.0.8 Installing ri documentation for tilt-2.0.8 Parsing documentation for rack-protection-1.5.3 Installing ri documentation for rack-protection-1.5.3 Parsing documentation for sinatra-1.4.8 Installing ri documentation for sinatra-1.4.8 Parsing documentation for daemons-1.2.4 Installing ri documentation for daemons-1.2.4 Parsing documentation for thin-1.5.1 Installing ri documentation for thin-1.5.1 Parsing documentation for skinny-0.2.4 Installing ri documentation for skinny-0.2.4 Parsing documentation for mailcatcher-0.6.5 Installing ri documentation for mailcatcher-0.6.5 Done installing documentation for rack, tilt, rack-protection, sinatra, daemons, thin, skinny, mailcatcher after 314 seconds 8 gems installed
成功しました!
そして MailCatcher が起動しました。
$ mailcatcher Starting MailCatcher ==> smtp://127.0.0.1:1025 ==> http://127.0.0.1:1080 *** MailCatcher runs as a daemon by default. Go to the web interface to quit.
以下その他の参考サイトです。
El Capitanにしたらmailcatcherがなくなっていたので入れなおす | のぶろぐ
Gem install で Operation not permitted された時の対応(追記あり) - Qiita
・
・
・
っとココまで進めたのですが、色々勘違いしてまして、もともと mac では MailCatcher ちゃんと使ってなかったぽい?です。
vagrant に入れて動かしてようです。
が、なぜか vagrant も動かなくなってる....。
rbenv 自体が動いてないようです。
mac も vagrant もいろいろ試してそのままなので余計なものとかいっぱいあるし、もうどうなってるのかよくわからない。
そろそろメンテンスが必要ですね。