我最近购买了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发的帖子,但不知道该怎么办。
在这种情况下你能帮我吗?我非常感谢你的帮助!
1条答案
按热度按时间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