ruby-on-rails - 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]
任何帮助表示赞赏!
解决方案
我在使用 M1 设备预装的 ruby-2.6.3 时也遇到了这个问题。
我的解决方案是将 ruby 版本更改为其他版本,因为这可能是苹果预装的 ruby 版本的问题。例如,我使用 rbenv(推荐的管理 ruby 版本的方法)将我的更改为 2.7.3:
rbenv install 2.7.3
使用以下命令全局更改 ruby 版本:
rbenv global 2.7.3
您可能还需要重新启动终端或执行其他操作以确保正在使用新的 ruby 版本。
推荐阅读
- node.js - 该应用程序在 localhost 上运行良好,但 Heroku 在尝试使用 post 登录或注册时出现错误的请求错误
- python - 将 ndarray 的大多数元素设置为零的好方法是什么?
- javascript - 获取数据并将其格式化为对象数组?打字稿
- reactjs - 如何在 Jhipster+ React 应用程序中自定义 GUI
- objective-c - 如何从终端设置 macOS 编码语言 - Flutter
- java - n = n--; 为什么和以前一样的价值
- r - R ComplexUpset 包中的内存管理
- asp.net - 不使用 SPA (React) 启动 ASP.net 服务
- asp.net - 在 WCF 服务应用程序中使用 Google 登录
- vtk - 如何在 python-vtk 中隐藏特定的演员