LoginSignup
76

More than 3 years have passed since last update.

posted at

updated at

bootsnapのせいでRails5.2とかが動かない人へ

bootsnapとは?

bootsnapについてはトレタの中の人がアウトプットしてくれているのでそちらを参照しましょう。

bootsnap自体は
1. Gemfile に gem 'bootsnap', require: false を追記
2. config/boot.rb に require 'bootsnap/setup' を追記
のお手軽簡単ステップ2つです。

bootsnapのせいで何やらRailsが動かない

こんなログ。

LoadError: cannot load such file -- arel
/Users/hogehoge/***/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
...

当たり前ですが、arelが見つからないなんてことはないんです。

上記のbootsnapの簡単2ステップをコメントアウトすれば動いてしまうRailsアプリを持っている人向けです。

チェックポイント

  • bootsnapをbundleするとrails sやrails cが動かない
  • 明らかにkernelで呼び出そうとしてる部分でコケる
  • bootsnapをコメントアウトすると綺麗に動作する
  • rubyのインストとかし直しても動かない(んでやっぱりbootsnapをコメントアウトすると動く)

bootsnapのCacheを消そう

ここまで条件が一致している方は多分僕と同じなので以下をやってみましょう。

bootsnapはCacheファイルを作るんでこれを消します。

  • 自分のRailsプロジェクトディレクトリの tmp/cache へ行く
  • bootsnap-load-path-cachebootsnap-compile-cache を消す(rmコマンドでok)

これで、動かなかったRailsアプリにアクセスしてみましょう。

参考:
'require': cannot load such file -- bootsnap/setup (LoadError) · Issue #73 · Shopify/bootsnap

余談:
他の人に例がなく自分だけってパターンだったから、気づきづらい。時間食う。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
76