anycable / anycable-rails

AnyCable for Ruby on Rails applications
https://anycable.io
MIT License
499 stars 35 forks source link

can't run bundle exec anycable #161

Closed xxSkyy closed 3 years ago

xxSkyy commented 3 years ago

I've got problem running bundle exec anycable command. I followed instructions without problems despite #160 , and I get error

 ✗ bundle exec anycable                      
Starting AnyCable RPC server (pid: 26391)
AnyCable version: 1.1.1 (proto_version: v1)
Serving Rails application from ./config/environment.rb
AnyCable server builder must be configured. Make sure you've required a gem (e.g. `grpc`) or configured `AnyCable.server_builder` yourself

I did install bundle exec rails g anycable:setup

cable.yml

development:
  adapter: <%= ENV.fetch("ACTION_CABLE_ADAPTER", "any_cable") %>

test:
  adapter: test

production:
  adapter: <%= ENV.fetch("ACTION_CABLE_ADAPTER", "any_cable") %>

development.rb

require 'active_support/core_ext/integer/time'

Rails.application.configure do
  # Specify AnyCable WebSocket server URL to use by JS client
  config.after_initialize do
    if AnyCable::Rails.enabled?
      config.action_cable.url = ActionCable.server.config.url = ENV.fetch('CABLE_URL',
                                                                          'ws://localhost:3030/cable')
    end
  end

anycable.yml

default: &default
  # Turn on/off access logs ("Started..." and "Finished...")
  access_logs_disabled: false
  # Persist "dirty" session between RPC calls (might be required for apps using stimulus_reflex <3.0)
  # persistent_session_enabled: true
  # This is the host and the port to run AnyCable RPC server on.
  # You must configure your WebSocket server to connect to it, e.g.:
  #   $ anycable-go --rpc-host="<rpc hostname>:50051"
  rpc_host: "127.0.0.1:50051"
  # Whether to enable gRPC level logging or not
  log_grpc: false
  # Use Redis to broadcast messages to AnyCable server
  broadcast_adapter: redis
  # Use the same channel name for WebSocket server, e.g.:
  #   $ anycable-go --redis-channel="__anycable__"
  redis_channel: "__anycable__"
  # You can use REDIS_URL env var to configure Redis URL.
  # Localhost is used by default.
  # redis_url: "redis://localhost:6379/1"

development:
  <<: *default

test:
  <<: *default

production:
  <<: *default

setting RAILS_ENC=development doesn't help

Tell us about your environment

Ruby version: 2.7.2

Rails version: 6.1.4

anycable gem version: 1.1

anycable-rails gem version: 1.1.2

grpc gem version: 1.38.0-universal-darwin

palkan commented 3 years ago

Make sure you've required a gem (e.g. grpc)

That's the problem. Are you sure you're using anycable-rails 1.1.2? It has grpc in its dependencies (via anycable), so the gem must be present.

Could you check your Gemfile.lock please? (Or re-run bundle install)

xxSkyy commented 3 years ago

Make sure you've required a gem (e.g. grpc)

That's the problem. Are you sure you're using anycable-rails 1.1.2? It has grpc in its dependencies (via anycable), so the gem must be present.

Could you check your Gemfile.lock please? (Or re-run bundle install)

I copied dependencies versions from gemfile.lock

....
DEPENDENCIES
  anycable-rails (~> 1.1.2)
...
    anycable (1.1.1)
      anycable-core (= 1.1.1)
      grpc (~> 1.37)
    anycable-core (1.1.1)
      anyway_config (>= 2.1.0)
      google-protobuf (>= 3.13)
    anycable-rails (1.1.2)
      actioncable (>= 6)
      anycable (~> 1.1)
      globalid
...
    grpc (1.38.0-universal-darwin)
      google-protobuf (~> 3.15)
      googleapis-common-protos-types (~> 1.0)

I re-ran bundlecut didn't help, all is installed

palkan commented 3 years ago

Interesting.

Could you please try to open a Rails console and invoke require "anycable/grpc"—what does it produce?

xxSkyy commented 3 years ago

Interesting.

Could you please try to open a Rails console and invoke require "anycable/grpc"—what does it produce?

irb(main):004:0> require "anycable/grpc"
Traceback (most recent call last):
        2: from (irb):3
        1: from (irb):4:in `rescue in irb_binding'
LoadError (dlopen(/Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.38.0-universal-darwin/src/ruby/lib/grpc/2.7/grpc_c.bundle, 9): no suitable image found.  Did find:)
        /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.38.0-universal-darwin/src/ruby/lib/grpc/2.7/grpc_c.bundle: mach-o, but wrong architecture
        /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.38.0-universal-darwin/src/ruby/lib/grpc/2.7/grpc_c.bundle: mach-o, but wrong architecture - /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.38.0-universal-darwin/src/ruby/lib/grpc/2.7/grpc_c.bundle
irb(main):005:0> 

I see, it's because apple M1 , I suppose in Debian production it'll work fine

palkan commented 3 years ago

Cool, we figured it out.

@skryukov Maybe, you have an idea how to overcome this on M1?

skryukov commented 3 years ago

Hey, @xxSkyy could you please run ruby -v and share the results? I want to see if ruby is built for arm (like ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20] for example) or is it x86 (like ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin20]).

xxSkyy commented 3 years ago

@skryukov sure, its arm64 ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [arm64-darwin20]

palkan commented 3 years ago

@xxSkyy Could you try running gem pristine grpc and check require 'anycable/grpc' one more time?

xxSkyy commented 3 years ago
➜  XXX git:(master) ✗ gem pristine grpc
Restoring gems to pristine condition...
Restored grpc-1.38.0-universal-darwin
➜  XXX git:(master) ✗ rails c          
Loading development environment (Rails 6.1.4)
irb(main):001:0> require 'anycable/grpc'
Traceback (most recent call last):
        1: from (irb):1
LoadError (dlopen(/Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.38.0-universal-darwin/src/ruby/lib/grpc/2.7/grpc_c.bundle, 9): no suitable image found.  Did find:)
        /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.38.0-universal-darwin/src/ruby/lib/grpc/2.7/grpc_c.bundle: mach-o, but wrong architecture
        /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.38.0-universal-darwin/src/ruby/lib/grpc/2.7/grpc_c.bundle: mach-o, but wrong architecture - /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.38.0-universal-darwin/src/ruby/lib/grpc/2.7/grpc_c.bundle
irb(main):002:0> 

To add I need to use specified revision of protobuf to make it even run (this one 79370f1ffa81a8394c41a99a32ab1452f923242e) , otherwise I get errore like

➜  XXX git:(master) ✗ rails c          
Traceback (most recent call last):
        31: from bin/rails:4:in `<main>'
        30: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        29: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        28: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        27: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        26: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        25: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/commands.rb:18:in `<main>'
        24: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command.rb:48:in `invoke'
        23: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command/base.rb:69:in `perform'
        22: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
        21: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
        20: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
        19: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/commands/console/console_command.rb:101:in `perform'
        18: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command/actions.rb:14:in `require_application_and_environment!'
        17: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command/actions.rb:22:in `require_application!'
        16: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        15: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        14: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        13: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        12: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        11: from /Users/sky/Personal/Projects/XXX/XXX/config/application.rb:20:in `<main>'
        10: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler.rb:174:in `require'
         9: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:48:in `require'
         8: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:48:in `each'
         7: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:59:in `block in require'
         6: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:59:in `each'
         5: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:64:in `block (2 levels) in require'
         4: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:44:in `require'
         3: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
         2: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:89:in `register'
         1: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': cannot load such file -- google-protobuf (LoadError)
        39: from bin/rails:4:in `<main>'
        38: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        37: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        36: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        35: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        34: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        33: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/commands.rb:18:in `<main>'
        32: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command.rb:48:in `invoke'
        31: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command/base.rb:69:in `perform'
        30: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
        29: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
        28: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
        27: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/commands/console/console_command.rb:101:in `perform'
        26: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command/actions.rb:14:in `require_application_and_environment!'
        25: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command/actions.rb:22:in `require_application!'
        24: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        23: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        22: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        21: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        20: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        19: from /Users/sky/Personal/Projects/XXX/XXX/config/application.rb:20:in `<main>'
        18: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler.rb:174:in `require'
        17: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:48:in `require'
        16: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:48:in `each'
        15: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:55:in `block in require'
        14: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:77:in `rescue in block in require'
        13: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        12: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        11: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        10: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
         9: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
         8: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/google-protobuf-3.17.3-universal-darwin/lib/google/protobuf.rb:49:in `<main>'
         7: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-6.1.4/lib/active_support/dependencies.rb:332:in `require'
         6: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-6.1.4/lib/active_support/dependencies.rb:299:in `load_dependency'
         5: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-6.1.4/lib/active_support/dependencies.rb:332:in `block in require'
         4: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
         3: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
         2: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
         1: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': dlopen(/Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/google-protobuf-3.17.3-universal-darwin/lib/google/2.7/protobuf_c.bundle, 9): no suitable image found.  Did find: (LoadError)
        /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/google-protobuf-3.17.3-universal-darwin/lib/google/2.7/protobuf_c.bundle: mach-o, but wrong architecture
        /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/google-protobuf-3.17.3-universal-darwin/lib/google/2.7/protobuf_c.bundle: mach-o, but wrong architecture - /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/google-protobuf-3.17.3-universal-darwin/lib/google/2.7/protobuf_c.bundle
        40: from bin/rails:4:in `<main>'
        39: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        38: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        37: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        36: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        35: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        34: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/commands.rb:18:in `<main>'
        33: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command.rb:48:in `invoke'
        32: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command/base.rb:69:in `perform'
        31: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
        30: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
        29: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
        28: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/commands/console/console_command.rb:101:in `perform'
        27: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command/actions.rb:14:in `require_application_and_environment!'
        26: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/railties-6.1.4/lib/rails/command/actions.rb:22:in `require_application!'
        25: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        24: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        23: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        22: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        21: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        20: from /Users/sky/Personal/Projects/XXX/XXX/config/application.rb:20:in `<main>'
        19: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler.rb:174:in `require'
        18: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:48:in `require'
        17: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:48:in `each'
        16: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:55:in `block in require'
        15: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.2.24/lib/bundler/runtime.rb:77:in `rescue in block in require'
        14: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        13: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        12: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        11: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        10: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
         9: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/google-protobuf-3.17.3-universal-darwin/lib/google/protobuf.rb:48:in `<main>'
         8: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/google-protobuf-3.17.3-universal-darwin/lib/google/protobuf.rb:51:in `rescue in <main>'
         7: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-6.1.4/lib/active_support/dependencies.rb:332:in `require'
         6: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-6.1.4/lib/active_support/dependencies.rb:299:in `load_dependency'
         5: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activesupport-6.1.4/lib/active_support/dependencies.rb:332:in `block in require'
         4: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:44:in `require'
         3: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
         2: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:89:in `register'
         1: from /Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/Users/sky/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': cannot load such file -- google/protobuf_c (LoadError)

I tried on tuby 3.0.1 aswell, same problem, bet its protobuf problem, I guess just use anycable in production only, no problem here.