LoginSignup
130
77

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-10-29

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

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

130
77
2

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
  3. You can use dark theme
What you can do with signing up
130
77