1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Xcodeインストール後に発生したRails環境エラーの原因と解決方法

Posted at

経緯

業務で既存サービスのローカルサーバーを立ち上げ、ビューを表示しようとした際に、以下のエラーが発生しました。

TypeError: no implicit conversion of BigDecimal into String

このエラーの発生により、原因を調査することになりました。


原因

最初は MySQL の設定に問題があると考えましたが、rails db:migrate を実行した際に、以下のエラーが表示され、MySQL が直接の原因ではないと気づきました。

/Users/niinomimadoguchi/osouji.support/vendor/bundle/ruby/3.0.0/gems/activerecord-6.1.4/lib/active_record/migration.rb:1423:in `crc32'

その後、vendor フォルダを削除し、以下のコマンドを実行したところ。

bundle install --path ./vendor/bundle

ffi に関連するエラーが発生。このエラーについて調査すると、ffi が Xcode に関連する gem であることが判明しました。

xcodebuild -version

上記のコマンドで Xcode のバージョンを確認したところ、最新のバージョン 16 がインストールされていました。

この Xcode の影響で gem のビルドに問題が発生していたと考えられます。
※Xcodeは業務では使いませんが、勉強のために数日前に環境構築をしていました。


解決方法

  1. Xcode を削除
    以下のコマンドを使用して Xcode をアンインストールしました:

    sudo rm -rf /Applications/Xcode.app
    
  2. 再インストール
    必要に応じて Xcode を再インストールする場合は、App Store から適切なバージョンをインストールします。

  3. 再度 Bundler のインストール
    Xcode を削除後、以下を実行することで問題が解消されました:

    bundle install --path ./vendor/bundle
    

補足

問題の原因

  • 最新の Xcode(特にバージョン 16 以降)は、特定の gem(特にネイティブ拡張を含むもの)との互換性に問題を引き起こすことがあります。

再発防止

  • 必要のない環境で Xcode をインストールしないようにする。
  • Xcode をインストールする場合は、Command Line Tools の設定や gem のビルドが正しく行えるか確認する。

結論

このエラーは Xcode のインストールが引き金となって gem のビルドに失敗したことで発生していました。Xcode を削除したことでエラーが解消し、無事に環境構築を進めることができました。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?