M1 MBP Rails db:create 引发 msgpack 错误

Jac*_*ack 4 ruby rubygems ruby-on-rails apple-m1

您好,我是 Ruby on Rails 新手。当我运行 时rails db:create,在 M1 MBP 上运行时出现以下错误:

/Library/Ruby/Gems/2.6.0/gems/msgpack-1.4.2/lib/msgpack.rb:8:in `require': 
dlopen(/Library/Ruby/Gems/2.6.0/gems/msgpack-1.4.2/lib/msgpack/msgpack.bundle, 0x0009): 
missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/msgpack-1.4.2/lib/msgpack/msgpack.bundle
- /Library/Ruby/Gems/2.6.0/gems/msgpack-1.4.2/lib/msgpack/msgpack.bundle (LoadError)
Run Code Online (Sandbox Code Playgroud)

我的红宝石版本是ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]

任何帮助表示赞赏!

Zex*_*x13 6

我在使用 M1 设备预装的 ruby​​-2.6.3 时也遇到了这个问题。

我的解决方案是将 ruby​​ 版本更改为其他版本,因为这可能是苹果预安装版本的 ruby​​ 的问题。例如,我使用 rbenv (管理 ruby​​ 版本的推荐方法)将我的版本更改为 2.7.3:

rbenv install 2.7.3
Run Code Online (Sandbox Code Playgroud)

使用以下命令全局更改 ruby​​ 版本:

rbenv global 2.7.3
Run Code Online (Sandbox Code Playgroud)

您可能还需要重新启动终端或执行其他操作以确保使用新的 ruby​​ 版本。