LoginSignup
2
0

More than 1 year has passed since last update.

EC2へのdeploy時にmini_racerでエラー

Posted at

Rubyのバージョンアップ対応でめちゃくちゃはまった・・・
今更ながらRuby2.5.1からひとまず2.7.7(bundler 2.4.6)へ(この後3.2.0にアップデート予定)

開発環境では順調に進むものの、capistranoを使ったdeployがまったくうまくいかない・・・
インフラ系に弱いのでまじで泣きそうだったー

とくにmini_racerとかlibv8-nodeとか、ちょっと調べるといろんな人がはまっているところに同じようにはまりました

      01 current directory:
      01 /var/www/{appli}/shared/bundle/ruby/2.7.0/gems/mini_racer-0.6.3/ext/mini_racer_extension
      01 make "DESTDIR="
      01 compiling mini_racer_extension.cc
      01 linking shared-object mini_racer_extension.so
      01 g++: エラー:
      01 /var/www/{appli}/shared/bundle/ruby/2.7.0/gems/libv8-node-16.10.0.0-x86_64-linux-musl/vendor/v8/x86_64-linux/libv8/obj/libv8_monolith.a:
      01 No such file or directory
      01 make: *** [mini_racer_extension.so] エラー 1
      01
      01 make failed, exit code 2

こんなんが出ればgcc系なのかなと思ったり、nodeのバージョンがおかしいのかな?とか、
gemを直接インストールしてみたり、何をやったか思い出せないほどに迷走しまくるもエラーは何も変わらず・・・

An error occurred while installing mini_racer (0.6.3), and Bundler
cannot continue.

In Gemfile:
  mini_racer
bundle stderr: Nothing written

bundlerのバージョンがあっていないとエラーになるという記事は見かけたものの、エラーログからはちゃんと指定したバージョンのbundlerを使っているようにしかみえないし、、、

/usr/local/rbenv/versions/2.7.7/lib/ruby/gems/2.7.0/gems/bundler-2.4.6/lib/bundler/worker.rb:90:in
`block (2 levels) in create_threads'

最終的に解決したのはbundlerのバージョンでした・・・

サーバーにてgem listを確認

bundler (2.4.6, default: 2.1.4, 1.16.4)

もしかしてdefaultのほうが邪魔してるのかな?
という疑問は持っていたけど、logには2.4.6って書いてあるし違うだろと決めつけていました

結局

gem update --system 

を実行して

bundler (default: 2.4.6, 1.16.4)

このような綺麗な状態になり、deployしたらようやく進んだ!!!
これだけのために2,3日使ってしまった・・・
インフラ苦手
誰か助けてー

2
0
0

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
2
0