blog.yuzu441.com

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になったらしい(そもそもなんですかそれ…)のでそれの影響なのか・・?

Ruby 3.4.0 リリース