如何解决在 Apple M1 处理器 macOs BigSur 11.4 中 db:reset 时出现“预期:平面命名空间”Rails 错误
我最近购买了 macOs BigSur,不幸的是,我在尝试安装 Rails 应用程序时遇到了很多问题。在解决论坛答案问题几天后,我遇到了一个我无法解决的问题,而且互联网上没有太多关于如何解决这个问题的信息。
每当我运行以下命令 rails db:reset
时,我都会得到以下输出:
dyld: lazy symbol binding failed: Symbol not found: _grpc_set_ssl_roots_override_callback
Referenced from: /Users/usr/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/grpc-1.38.0/src/ruby/lib/grpc/grpc_c.bundle
Expected in: flat namespace
dyld: Symbol not found: _grpc_set_ssl_roots_override_callback
Referenced from: /Users/usr/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/grpc-1.38.0/src/ruby/lib/grpc/grpc_c.bundle
Expected in: flat namespace
zsh: abort rails db:reset
我查看了这个 Github 问题 https://github.com/grpc/grpc/issues/24846 并按照 nilleb 用户标记的步骤解决了我的第一个问题,但随后我进入了此错误消息,该消息也在同一线程中提到,但我找不到解决方法。
当我运行 gem list
时,我得到
- grpc(1.38.0 ruby 通用达尔文)
- google-protobuf (3.17.3 ruby Universal-darwin)
我的红宝石版本是
- ruby 2.6.6p146(2020-03-31 修订版 67876)[-darwin20]
我阅读了用户前提的帖子,但不知道该怎么做。
在这种情况下你能帮我吗?我非常感谢您的帮助!
解决方法
我已经解决了这个问题。该问题是由我的自制程序路径引起的,我需要将其文件夹安装在 /usr/local/homebrew 而不是 /usr/opt/homebrew 因为 /opt/homebrew 是供 ARM 使用的(所以我必须使用 intel 安装)。
我卸载了 brew 及其所有工具,例如 rbenv、nvm 等。然后,我再次安装了 brew,但使用了 arch flag x86_64 命令:arch -x86_64 /bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)\"
。之后,我安装了 rbenv、nvm 和其他工具,始终使用 arch 标志:arch -x86_64
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。