Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

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

favy
デジタルマーケティングのスペシャリストと飲食業界出身の食のスペシャリストでチームは構成されていて、飲食市場に特化したマーケティング支援を軸に「飲食店がかんたんに潰れない世界を創る」を真剣に実現するためにチャレンジしています。
http://www.favy.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away