😺
Ralisでrails db:createができなかった時の対処法
状況
Railsでrails db:createをしてデータベースを作ろうと思ったら、以下のようなエラーが出ました。
taro % rails db:create
Running via Spring preloader in process 84078
objc[84078]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.
objc[84078]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
解決策
ChatGptに相談したら解決できました。
上のエラーは、MacOSの環境でRailsアプリケーションを実行する時によく発生するエラーみたいです。
このエラーは、Springプリローダー(Spring preloader)とObjective-Cの初期化関数がフォーク(fork)の際に問題を引き起こしているみたいです。
-
Springを無効にする
: 一時的な解決策として、Springを無効にすることができるみたいです。
$ export DISABLE_SPRING=true
これで解決しました。
他にも
Railsのバージョンをアップデート、
Springをアップデートも方法としてはあるみたいです。
bundle update spring
Discussion