“预期在:平面名称空间中”rails错误,而在apple m1处理器macos bigsur 11.4中db:reset

s5a0g9ez  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(403)

我最近购买了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 user标记的步骤解决了我的第一个问题,但随后我发现了这个错误消息,在同一个线程中也提到了这个消息,但我找不到解决它的方法。
当我跑的时候 gem list 我明白了
grpc(1.38.0 ruby universal darwin)
google protobuf(3.17.3 ruby universal darwin)
我的ruby版本是
ruby 2.6.6p146(2020-03-31修订版67876)[-达尔文20]
我读了用户premist发的帖子,但不知道该怎么办。
在这种情况下你能帮我吗?我非常感谢你的帮助!

vm0i2vca

vm0i2vca1#

我已经解决了这个问题。问题是由我的自制路径引起的,我需要将其文件夹安装在/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

相关问题