homebrewでインストールしているfastlaneがエラーになった
tags: expo ios react-native
いつもやっているeas build --platform ios --localを実行した所fastlane周りでエラーになった。
先に結論
homebrewでインストールしたfastlaneを捨てて、miseでrubyをインストールし、gem install fastlaneを行った
エラー内容
エラー内容を見るにbigdecimalというgemが見えてないらしい
/opt/homebrew/Cellar/ruby/3.4.7/lib/ruby/3.4.0/rubygems/specification.rb:1421:in 'block in Gem::Specification#activate_dependencies': Could not find 'bigdecimal' (>= 0) among 148 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/yuzu/.local/share/fastlane/3.4.0:/opt/homebrew/Cellar/fastlane/2.229.1/libexec' at: /opt/homebrew/Cellar/fastlane/2.229.1/libexec/specifications/aws-sdk-core-3.239.1.gemspec, execute `gem env` for more information
from /opt/homebrew/Cellar/ruby/3.4.7/lib/ruby/3.4.0/rubygems/specification.rb:1407:in 'Array#each'
from /opt/homebrew/Cellar/ruby/3.4.7/lib/ruby/3.4.0/rubygems/specification.rb:1407:in 'Gem::Specification#activate_dependencies'
(省略...)
最初はGEM_PATHとして$HOME/.local/share/fastlane/3.4.0を見てるのでここにbigdecimalを入れてやれば良いのかと思ってやってみた。これ自体はうまく行ったがエラーが変わって今度はsysrandomが無い、digest-crcが無いと次々と要求されるようになってしまった
GEM_HOME="$HOME/.local/share/fastlane/3.4.0" \
GEM_PATH="$HOME/.local/share/fastlane/3.4.0:/opt/homebrew/Cellar/fastlane/2.229.1/libexec" \
/opt/homebrew/opt/ruby/bin/gem install bigdecimal --no-document
homebrew版を諦める
homebrew経由でrubyが入っていたので、試しにgem install fastlaneしてbrewで入れたrubyのgemのfastlane -vを実行した所うまく動作した
ただこのbrewでインストールしたgemのディレクトリにパスを通すのは気持ち悪かったので、homebrew版を諦めてmiseでrubyをインストールして、そのrubyでfastlaneを動かす事にした
mise use -g ruby@3
gem install fastlane
これでセットアップしてfastlane -vした所エラーにならず実行できた
まとめ
これで一応ビルドできるようになったのでここまでとする
それにしても普段rubyもios周りも追えてないので急に動かなくなると難しい。。
一応原因的な所を探すと、Ruby 3.4.0でbigdecimal等がdefault gemsからbundled gemsになったらしい(そもそもなんですかそれ…)のでそれの影響なのか・・?