我正在尝试在我的 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 uninstall
或 gem -arch -arm64e
的尝试均无效,并出现与上述相同的错误。
ruby 版本:
ruby 3.1.2p20(2022-04-12 修订版 4491bb740a)[arm64-darwin21]
最佳答案
我相信此错误的根本原因是因为我最初尝试在我的 M1 Mac 上的基于 Intel 的 RubyMine 版本上安装 Gems。我认为这试图安装英特尔依赖项,直到最终由于架构兼容性而出现错误。
为了解决此问题,我删除了 /Users/matti/.rvm/rubies/
后面的 ruby-3.1.2 目录,然后运行 bundle install
。我的所有依赖项均已成功安装。
关于ruby-on-rails - Ruby - mach-o 文件,但是是一个不兼容的架构(have (x86_64), need (arm64e))运行 gem 时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74142503/