ruby-on-rails - Ruby - mach-o 文件,但是是一个不兼容的架构(have (x86_64), need (arm64e))运行 gem 时抛出错误

标签 ruby-on-rails ruby rubygems apple-m1

我正在尝试在我的 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 修订版 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/

相关文章:

ruby-on-rails - 为什么 ruby​​-debug 说 'Saved frames may be incomplete'

ruby-on-rails - 在不同环境中工作方式不同的 Rails 辅助方法

ruby-on-rails - 使用日期和时间

ruby-on-rails-4 - Bullet Gem Rails 4 和 Uniform Notifier 出错

ruby-on-rails - 如何测试使用不同数据库修改 ActiveRecord 的 gem?

jquery - 如何使用jquery在collection_select中进行onchange

ruby-on-rails - 如何使用 `attribute_names` 方法访问 Rails 模型中的 attr_accessor

ruby-on-rails - 在 EC2 上部署 Cassandra?

ruby - 使用 Ruby on Rails 将字符串拆分成多个点

ruby - 在 Ubuntu 18.04 上安装 Ruby 2.6 - 捆绑程序路径错误