【发布时间】:2022-01-27 02:15:41
【问题描述】:
遇到这样的错误
rails 中止了!
LoadError: dlopen(/Users/../.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/grpc-1.22.0-universal-darwin/src/ruby/lib/ grpc/2.4/grpc_c.bundle,0x0009):尝试:'/Users/../.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/grpc-1.22.0-universal-darwin /src/ruby/lib/grpc/2.4/grpc_c.bundle'(mach-o 文件,但架构不兼容(有'x86_64',需要'arm64e')),'/usr/local/lib/grpc_c.bundle '(没有这样的文件),'/usr/lib/grpc_c.bundle'(没有这样的文件) - /Users/../.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/ grpc-1.22.0-universal-darwin/src/ruby/lib/grpc/2.4/grpc_c.bundle
我的项目要求我设置这些版本
- ruby v2.4.6
- 导轨 v5.0.7.2
- postgres (PostgreSQL) 14.1
- macOs:m1 芯片(MacOs monterey)
【问题讨论】:
-
这个issue in the gRPC repository 建议将gRPC 升级到
1.42.0或更新版本。 -
% rails s, /Users/../.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache /core_ext/kernel_require.rb:22:in `require': dlopen(/Users/kundansingh/.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/grpc-1.42.0/src/ ruby/lib/grpc/grpc_c.bundle,0x0009):在平面命名空间“_gpr_asprintf”中找不到符号 - /Users/.../.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems /grpc-1.42.0/src/ruby/lib/grpc/grpc_c.bundle (LoadError) 现在我收到此错误
-
我刚刚注意到您正在运行旧版本的 Ruby。 Ruby 2.4 reached end of life 2020 年初。那是在 Apple 向 switch from Intel to M1 宣布之前。我想知道 Ruby 2.4 是否真的与 Apple Silicon 开箱即用兼容?你可能想看看this answer and its comments,它表明它在某些情况下可能会起作用。
标签: ruby-on-rails ruby postgresql