我试图在我的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 revision 4491bb740a) [arm64-darwin21]
1条答案
按热度按时间szqfcxe21#
我认为这个错误的根本原因是因为我最初试图在我的M1 Mac上安装基于Intel版本的RubyMine上的Gems。我认为这试图安装Intel依赖项,直到它最终由于架构兼容性而遇到错误。
为了解决这个问题,我删除了
/Users/matti/.rvm/rubies/
后面的ruby-3.1.2目录,然后运行bundle install
。我的所有依赖项都成功安装了。