ruby-mach-o文件,但是一个不兼容的体系结构(有(x86_64),需要(arm 64 e))运行gem时抛出错误

nue99wik  于 2022-11-04  发布在  Ruby
关注(0)|答案(1)|浏览(497)

我试图在我的M1 Mac上运行一个Ruby项目。但是,当我在命令行中运行gem时,我遇到了以下错误:

<internal:/Users/matti/.rvm/rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require': dlopen(/Users/matti/.rvm/gems/ruby-3.1.2/gems/strscan-3.0.3/lib/strscan.bundle, 0x0009): tried: '/Users/matti/.rvm/gems/ruby-3.1.2/gems/strscan-3.0.3/lib/strscan.bundle' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))) - /Users/matti/.rvm/gems/ruby-3.1.2/gems/strscan-3.0.3/lib/strscan.bundle (LoadError)

在查看了关于这个错误的不同StackOverflow帖子后,我没有找到一个处理gem不工作的帖子。任何尝试运行gem uninstallgem -arch -arm64e都不工作,都得到了上面相同的错误。
Ruby版本:ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin21]

szqfcxe2

szqfcxe21#

我认为这个错误的根本原因是因为我最初试图在我的M1 Mac上安装基于Intel版本的RubyMine上的Gems。我认为这试图安装Intel依赖项,直到它最终由于架构兼容性而遇到错误。
为了解决这个问题,我删除了/Users/matti/.rvm/rubies/后面的ruby-3.1.2目录,然后运行bundle install。我的所有依赖项都成功安装了。

相关问题