💎

RenderにRailsをデプロイしたらエラーが出た..."x86_64-darwin-22"...

2022/12/04に公開

事象

Renderデプロイ中にbundle installでこけた
Railsチュートリアル第1章の最後の最後で...

原因

エラーを見てみると以下のメッセージが出ていた

==> Running build command 'bundle install; bundle exec rake assets:precompile; bundle exec rake assets:clean;'...
Your bundle only supports platforms ["x86_64-darwin-22"] but your local platform is
x86_64-linux. Add the current platform to the lockfile with `bundle lock --add-platform x86_64-linux` and try again.

調査

まずx86_64-darwin-22とはなんぞや?となったので調べたところ、
x86_64: PCのCPUのbit数(情報量)
darwin: Apple社が開発しているOS。ダーウィンと読む、Mac OSの基盤らしい
22: バージョン番号かな?

そろそろAppleシリコン製のMacに買い替えたい...

but your local platform is x86_64-linux. Add the current platform to the lockfileとのことなので、使用する環境のプラットフォームをGemfile.lockに追加しなければならないらしい。

解決方法

ローカル環境でbundle lockコマンドを使用し、Gemfile.lockを更新する
以下実行コマンド

$ bundle lock --add-platform x86_64-linux

実行結果

x86_64-linuxが追加された!

Gemfile.lock
+ nokogiri (1.13.9-x86_64-linux)
+   racc (~> 1.4)

PLATFORMS
  x86_64-darwin-22
+ x86_64-linux

Discussion