コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Mac環境で開発するときに別プロセスが立ち上がるような処理をやると動かなくなるときがあるのでその応急処置のしかた

Macのローカルマシン開発ならでは、という感じのメモ。はよDocker化…

環境

$ ruby -v
ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-darwin18]
$ bin/rails --version
Rails 5.0.2

起きること

bin/rails s で立ち上げた場合に

objc[36474]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called.

という感じで怒られる。自分はFaradayで、とある人はsidekiqでなってたりするのでMacでメインプロセスとは別に動かす系のコードを書いているとなる模様。

暫定対応

以下の環境変数をセットすれば暫定対応としては動く

OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

関連リンク