我试图通过bundle install将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
;
1.使用ruby-v打印ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin22]
;
1.使用ZSH与适当的配置在它和source ~/.zshrc
。
1.使用带有uname -m的ARM终端表示arm64
。
1.我可以用gem list stringio
安装stingio,但不能用arch -arm64 gem install stringio
。错误将如上所述。
1.在终端设置中未打开Rozetta。
我还能尝试什么?我已经重新安装了我的ruby,并试图用RBENV等做同样的事情。重新启动我的笔记本电脑,切换电源,没有任何成功。
MacOS - Ventura 13.4;芯片M1Ruby3.1.2 RVM -最新。终端-arm 64.
1条答案
按热度按时间mfpqipee1#
好吧,到今天结束时,我已经通过使用rvm而不是rbnev解决了这个问题。我从我的机器上删除了所有与ruby和rbnev相关的东西,重新加载PC,并将所有内容安装在rvm之上