Stringio 3.0.6 无法在 M1 MacOS 上使用arm64正确执行

问题描述 投票:0回答:2

我正在尝试通过捆绑安装将 stringio 3.0.6 安装为项目依赖关系树的一部分,但显然由于错误

mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')
,它无法正常工作。

完整的堆栈跟踪如下:

<internal:/Users/sviat/.rvm/rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in 
`require': 
dlopen(/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle, 0x0009):
 tried: '/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle' 
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), 
'/System/Volumes/Preboot/Cryptexes/OS/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle' (no such file), '/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle' 
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')) - 
/Users/sviat/.rvm/gems/ruby-3.1.2/gems/stringio-3.0.6/lib/stringio.bundle (LoadError)

尽管我已经完成了以下所有操作,但我不断收到上面的错误:

  1. 设置
    bundle config set force_ruby_platform true
    ;
  2. 使用 ruby -v 打印安装了 Ruby
    ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin22]
    ;
  3. 使用 ZSH 进行正确的配置,并且
    source ~/.zshrc
  4. 使用带有 uname -m 的 ARM 终端显示
    arm64
  5. 我可以使用
    gem list stringio
    安装 stingio,但不能使用
    arch -arm64 gem install stringio
    。错误将如上。
  6. Rozetta 在终端设置中未打开。

我还能尝试什么?我已经重新安装了我的 ruby,并尝试对 RBENV 等进行同样的操作。重新启动我的笔记本电脑并切换电源,但没有成功。

MacOS - 文图拉 13.4; 芯片-M1。 红宝石 - 3.1.2。 RVM - 最新。 终端 -arm64。

ruby-on-rails ruby rubygems apple-m1 stringio
2个回答
1
投票

最终我通过使用 rvm 而不是 rbnev 解决了这个问题。从我的机器中删除了与 ruby 和 rbnev 相关的所有内容,重新加载 PC,并将所有内容安装在 rvm 之上


0
投票

我对 rbenv 有同样的问题,所以我将其删除。 重新启动了我的系统。 我更新/升级brew。 我尝试使用 chruby 来安装它。 有效! 可能正如之前的评论(尝试使用rvm),新的开始是关键。

© www.soinside.com 2019 - 2024. All rights reserved.