【问题标题】:(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')) on apple M1 chip when running rake db:create(mach-o 文件,但是在运行 rake db:create 时在苹果 M1 芯片上是一个不兼容的架构(有 \'x86_64\',需要 \'arm64e\'))
【发布时间】:2023-02-02 19:51:38
【问题描述】:

当我尝试创建我的数据库时出现此错误

$ rake db:create
rake aborted!
LoadError: dlopen(/Users/agonzalez/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/nokogiri-1.13.6/lib/nokogiri/nokogiri.bundle, 0x0009): tried: '/Users/agonzalez/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/nokogiri-1.13.6/lib/nokogiri/nokogiri.bundle' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')) - /Users/agonzalez/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/nokogiri-1.13.6/lib/nokogiri/nokogiri.bundle
/Users/agonzalez/Documents/join/config/application.rb:7:in `<top (required)>'
/Users/agonzalez/Documents/join/Rakefile:4:in `require_relative'
/Users/agonzalez/Documents/join/Rakefile:4:in `<top (required)>'

Caused by:
LoadError: cannot load such file -- /Users/agonzalez/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/nokogiri-1.13.6/lib/nokogiri/2.7/nokogiri
/Users/agonzalez/Documents/join/config/application.rb:7:in `<top (required)>'
/Users/agonzalez/Documents/join/Rakefile:4:in `require_relative'
/Users/agonzalez/Documents/join/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

我已经试过了

bundle config set force_ruby_platform true

我的 ruby​​ 版本是 ruby​​ 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [-darwin21]

捆绑版本 2.1.4

轨道版本 5.2.7

Nokogiri version nokogiri-1.13.6

【问题讨论】:

    标签: ruby-on-rails ruby macos rake apple-m1


    【解决方案1】:

    我遇到了类似的问题,最终修复它的方法是卸载 nokogiri,然后使用特定平台重新安装它,如下所示:

    gem uninstall nokogiri
    
    gem install nokogiri -v 1.13.6 --platform arm64-darwin
    

    这让我暂时启动并运行。我怀疑如果我将来进行捆绑安装,它可能会再次中断,可能有一种方法可以通过编辑 Gemfile 来解决这个问题,但我不确定那会是什么样子。

    【讨论】:

      【解决方案2】:

      如果您的 Mac 是 M1,请首先尝试重新安装所有内容,如此处的第一条评论CocoaPods on M1 (Apple Silicon) fails with ffi wrong architecture

      然后检查这里的第一条评论 react native ios react native ios - Undefined symbols for architecture x86_64

      【讨论】:

        【解决方案3】:

        以上回答对我没有影响。 按照以下步骤对我有用:

        1. :bundle config --global build.ffi --enable-libffi-alloc
        2. :rm -rf ~/.bundle/vendor

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-08-23
          • 2022-07-10
          • 2022-12-19
          • 2022-08-10
          • 2022-10-20
          • 2022-08-09
          • 2022-06-21
          • 2022-10-25
          相关资源
          最近更新 更多