Techioz Blog

Stringio 3.0.6 が M1 MacOS 上の arm64 で正しく実行されない

概要

バンドルインストールを介してプロジェクトの依存関係ツリーの一部として stringio 3.0.6 をインストールしようとしていますが、エラー mach-o ファイルのため正常に動作しないようですが、互換性のないアーキテクチャです (「x86_64」があり、 「arm64」が必要です)。

完全なスタックトレースは以下のとおりです。

<internal:/Users/sviat/.rvm/rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in 
`require': 
dlopen(/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle, 0x0009):
 tried: '/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle' 
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), 
'/System/Volumes/Preboot/Cryptexes/OS/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle' (no such file), '/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle' 
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')) - 
/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle (LoadError)

以下のすべてを実行したにもかかわらず、上記のエラーが常に発生します。

他に何を試せるでしょうか? Rubyを再インストールし、RBENVなどで同じことをしようとしました。ラップトップを再起動して電気を切り替えましたが、成功しませんでした。

MacOS - ベンチュラ 13.4; チップ - M1。 ルビー - 3.1.2。 RVM - 最新。 ターミナル - arm64。

解決策

さて、その日の終わりまでに、rbnevの代わりにrvmを使用してこれを修正しました。 Ruby と rbnev に関連するものをすべてマシンから削除し、PC をリロードして、すべてを RVM の上にインストールしました