首页 > 解决方案 > M1 MBP Rails db:create 为 msgpack 引发错误

问题描述

嗨,我是 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)

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

任何帮助表示赞赏!

标签: ruby-on-railsrubyrubygemsapple-m1

解决方案


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

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

rbenv install 2.7.3

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

rbenv global 2.7.3

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


推荐阅读