protobuf
protobuf copied to clipboard
Add Ruby 3.2 support
Ruby 3.2.0 has been released, but I couldn't deploy to Heroku with following error:
Enumerating objects: 17, done.
Counting objects: 100% (17/17), done.
Delta compression using up to 8 threads
Compressing objects: 100% (10/10), done.
Writing objects: 100% (11/11), 1.47 KiB | 1.47 MiB/s, done.
Total 11 (delta 8), reused 0 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-22 stack
remote: -----> Using buildpack: heroku/ruby
remote: -----> Ruby app detected
remote: -----> Installing bundler 2.3.25
remote: -----> Removing BUNDLED WITH version in the Gemfile.lock
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-3.2.0
remote: Ruby version change detected. Clearing bundler cache.
remote: Old: ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]
remote: New: ruby 3.2.0 (2022-12-25 revision a528908271) [x86_64-linux]
remote: -----> Installing dependencies using bundler 2.3.25
remote: Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
remote: Fetching gem metadata from https://rubygems.org/..........
remote: google-protobuf-3.21.12-x86_64-linux requires ruby version < 3.2.dev, >= 2.5,
remote: which is incompatible with the current version, 3.2.0
remote: Bundler Output: Fetching gem metadata from https://rubygems.org/..........
remote: google-protobuf-3.21.12-x86_64-linux requires ruby version < 3.2.dev, >= 2.5,
remote: which is incompatible with the current version, 3.2.0
remote:
remote: !
remote: ! Failed to install gems via Bundler.
remote: !
remote: ! Push rejected, failed to compile Ruby app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to foo-bar.
remote:
To https://git.heroku.com/foo-bar.git
! [remote rejected] ruby-3-2 -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/foo-bar.git'
I'd appreciate if you could add Ruby 3.2 support soon.
Related links (discussions about Ruby 3.1)
- https://github.com/protocolbuffers/protobuf/issues/9364
- https://github.com/protocolbuffers/protobuf/pull/9657
This limitation is only on the precompiled binaries. Different platform gems have different ruby requirements:
google-protobuf 3.21.12-x86_64-linuxRequired Ruby Version: >= 2.5, < 3.2.devgoogle-protobuf 3.21.12Required Ruby Version: >= 2.3
The version that isn't compiled has no maximum version number so should be able to build.
That works locally for me, but I'm also deploying with a buildpack and haven't succeeded in telling it to compile rather than fetch the precompiled version.
I have the same problem, I can install google-protobuf 3.21.12 just fine, but specifying it as an explicit dependency in my Gemfile doesn't solve the problem because it looks for the precompiled version anyway. Is there a way to override this behavior?
Ah I just solved it. I accidentally ran bundle install before running bundle update and it installed an old version of Bundler (2.1.4) which has a bug that causes it to not fall back to the source version.
@tinco Have you managed to deploy it ? I have the same error when I try to deploy to github-pages. Even if I specify the gem google-protobuf 3.21.12 in the Gemfile nothing seems to change. (I am using Bundler 2.4.1)
Yeah, I got some more errors I didn't understand so I just removed the Gemfile.lock and ran bundle update. That fixed all issues, but it requires you run a diff with the old Gemfile.lock to see if there's any major version upgrades with incompatibilities. I reserved the whole day to fix those.
Eh also make sure you actually uninstall the old bundler with gem uninstall bundler it kept using the old one even after installing the new one.
Even after updating the bundler and regenerating the Gemfile.lock I still have an issue as the google-protobuf 3.21.12-x86_64-linux is used by default. But thank you for the help !
I was poking at this on Heroku yesterday too and gave up.
Looks like this may be related to an issue in Bundler 2.4.2 which is keeping it from falling back to the 'ruby' platform when precompiled binaries aren't appropriate (see https://github.com/rubygems/rubygems/issues/6237)
This happens with every major release and will also require changes to the build process to (similar to these changes for 3.1.0) so future releases will include 3.2.0 binaries. It usually takes 2-3 months before google-protobuf gets updated for the new version of Ruby.
Looks like installing protobuf is working now with rubygems 3.4.3 and bundler 2.4.3 (both released today). Make sure to update bundler in the lock file (bundler update --bundler) otherwise you'll still be locked to an older version.
The error remains after deploying on GH pages, google-protobuf-3.21.12-x86_64-linux is fetched instead of google-protobuf-3.21.12.
I'm not sure what is the key, but could deploy to Heroku with the following Gemfile.lock 🎉 So I close this issue.
GEM
remote: https://rubygems.org/
specs:
act_as_fire_record_beta (0.0.10)
google-cloud-firestore
rails
actioncable (7.0.4)
actionpack (= 7.0.4)
activesupport (= 7.0.4)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (7.0.4)
actionpack (= 7.0.4)
activejob (= 7.0.4)
activerecord (= 7.0.4)
activestorage (= 7.0.4)
activesupport (= 7.0.4)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
actionmailer (7.0.4)
actionpack (= 7.0.4)
actionview (= 7.0.4)
activejob (= 7.0.4)
activesupport (= 7.0.4)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.0)
actionpack (7.0.4)
actionview (= 7.0.4)
activesupport (= 7.0.4)
rack (~> 2.0, >= 2.2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (7.0.4)
actionpack (= 7.0.4)
activerecord (= 7.0.4)
activestorage (= 7.0.4)
activesupport (= 7.0.4)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.0.4)
activesupport (= 7.0.4)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (7.0.4)
activesupport (= 7.0.4)
globalid (>= 0.3.6)
activemodel (7.0.4)
activesupport (= 7.0.4)
activerecord (7.0.4)
activemodel (= 7.0.4)
activesupport (= 7.0.4)
activestorage (7.0.4)
actionpack (= 7.0.4)
activejob (= 7.0.4)
activerecord (= 7.0.4)
activesupport (= 7.0.4)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (7.0.4)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
bindex (0.8.1)
bootsnap (1.15.0)
msgpack (~> 1.2)
builder (3.2.4)
capybara (3.38.0)
addressable
matrix
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
coffee-rails (5.0.0)
coffee-script (>= 2.2.0)
railties (>= 5.2.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
concurrent-ruby (1.1.10)
crass (1.0.6)
date (3.3.3)
diff-lcs (1.5.0)
dotenv (2.8.1)
dotenv-rails (2.8.1)
dotenv (= 2.8.1)
railties (>= 3.2)
erubi (1.12.0)
execjs (2.8.1)
faraday (2.7.2)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
faraday-retry (2.0.0)
faraday (~> 2.0)
ffi (1.15.5)
gapic-common (0.16.0)
faraday (>= 1.9, < 3.a)
faraday-retry (>= 1.0, < 3.a)
google-protobuf (~> 3.14)
googleapis-common-protos (>= 1.3.12, < 2.a)
googleapis-common-protos-types (>= 1.3.1, < 2.a)
googleauth (~> 1.0)
grpc (~> 1.36)
globalid (1.0.0)
activesupport (>= 5.0)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.3.0)
google-cloud-firestore (2.8.0)
concurrent-ruby (~> 1.0)
google-cloud-core (~> 1.5)
google-cloud-firestore-v1 (~> 0.0)
rbtree (~> 0.4.2)
google-cloud-firestore-v1 (0.8.0)
gapic-common (>= 0.10, < 2.a)
google-cloud-errors (~> 1.0)
google-cloud-location (>= 0.0, < 2.a)
google-cloud-location (0.2.0)
gapic-common (>= 0.10, < 2.a)
google-cloud-errors (~> 1.0)
google-protobuf (3.21.12)
googleapis-common-protos (1.4.0)
google-protobuf (~> 3.14)
googleapis-common-protos-types (~> 1.2)
grpc (~> 1.27)
googleapis-common-protos-types (1.5.0)
google-protobuf (~> 3.14)
googleauth (1.3.0)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
grpc (1.50.0)
google-protobuf (~> 3.21)
googleapis-common-protos-types (~> 1.0)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
jbuilder (2.11.5)
actionview (>= 5.0.0)
activesupport (>= 5.0.0)
jwt (2.6.0)
kaminari (1.2.2)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.2.2)
kaminari-activerecord (= 1.2.2)
kaminari-core (= 1.2.2)
kaminari-actionview (1.2.2)
actionview
kaminari-core (= 1.2.2)
kaminari-activerecord (1.2.2)
activerecord
kaminari-core (= 1.2.2)
kaminari-core (1.2.2)
loofah (2.19.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.8.0)
mini_mime (>= 0.1.1)
net-imap
net-pop
net-smtp
marcel (1.0.2)
matrix (0.4.2)
memoist (0.16.2)
meta-tags (2.18.0)
actionpack (>= 3.2.0, < 7.1)
method_source (1.0.0)
mini_mime (1.1.2)
mini_portile2 (2.8.1)
minitest (5.17.0)
msgpack (1.6.0)
multi_json (1.15.0)
net-imap (0.3.4)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.1)
timeout
net-smtp (0.3.3)
net-protocol
newrelic_rpm (8.14.0)
nio4r (2.5.8)
nokogiri (1.13.10)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
os (1.1.4)
public_suffix (5.0.1)
puma (6.0.1)
nio4r (~> 2.0)
racc (1.6.2)
rack (2.2.5)
rack-test (2.0.2)
rack (>= 1.3)
rails (7.0.4)
actioncable (= 7.0.4)
actionmailbox (= 7.0.4)
actionmailer (= 7.0.4)
actionpack (= 7.0.4)
actiontext (= 7.0.4)
actionview (= 7.0.4)
activejob (= 7.0.4)
activemodel (= 7.0.4)
activerecord (= 7.0.4)
activestorage (= 7.0.4)
activesupport (= 7.0.4)
bundler (>= 1.15.0)
railties (= 7.0.4)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.4.4)
loofah (~> 2.19, >= 2.19.1)
railties (7.0.4)
actionpack (= 7.0.4)
activesupport (= 7.0.4)
method_source
rake (>= 12.2)
thor (~> 1.0)
zeitwerk (~> 2.5)
rake (13.0.6)
rbtree (0.4.6)
regexp_parser (2.6.1)
rexml (3.2.5)
rspec-core (3.12.0)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-rails (6.0.1)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
rspec-core (~> 3.11)
rspec-expectations (~> 3.11)
rspec-mocks (~> 3.11)
rspec-support (~> 3.11)
rspec-support (3.12.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
sass-rails (6.0.0)
sassc-rails (~> 2.1, >= 2.1.1)
sassc (2.4.0)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)
sassc (>= 2.0)
sprockets (> 3.0)
sprockets-rails
tilt
selenium-webdriver (4.7.1)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
signet (0.17.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
sprockets (4.2.0)
concurrent-ruby (~> 1.0)
rack (>= 2.2.4, < 4)
sprockets-rails (3.4.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
thor (1.2.1)
tilt (2.0.11)
timeout (0.3.1)
tzinfo (2.0.5)
concurrent-ruby (~> 1.0)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
web-console (4.2.0)
actionview (>= 6.0.0)
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 6.0.0)
websocket (1.2.9)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.6)
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
act_as_fire_record_beta
bootsnap
capybara
coffee-rails
dotenv-rails
jbuilder
kaminari
meta-tags
newrelic_rpm
puma
rails (= 7.0.4)
rspec-rails
sass-rails
selenium-webdriver
tzinfo-data
uglifier (>= 1.3.0)
web-console
RUBY VERSION
ruby 3.2.0p0
BUNDLED WITH
2.4.3
@JunichiIto But as far as I can tell, that doesn't fix the issue of prebuilt binaries not supporting 3.2. That just removes the prebuilt binary from your Gemfile.lock
Can you confirm by deployment log, that it does say:
Installing google-protobuf 3.21.12 with native extensions
instead of
Installing google-protobuf 3.21.12 (x86_64-linux)
as it should be outputting, when using prebuilt binary?
I see Installing google-protobuf 3.21.12 with native extensions. Here is my deploy log for Heroku:
$ git push heroku-staging-http cache-sandbox:master
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 185 bytes | 185.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-22 stack
remote: -----> Using buildpack: heroku/ruby
remote: -----> Ruby app detected
remote: -----> Installing bundler 2.3.25
remote: -----> Removing BUNDLED WITH version in the Gemfile.lock
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-3.2.0
remote: -----> Installing dependencies using bundler 2.3.25
remote: Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
remote: Fetching gem metadata from https://rubygems.org/..........
remote: Fetching rake 13.0.6
remote: Installing rake 13.0.6
remote: Using ruby2_keywords 0.0.5
remote: Fetching concurrent-ruby 1.1.10
remote: Fetching faraday-net_http 3.0.2
remote: Fetching google-cloud-errors 1.3.0
remote: Fetching google-protobuf 3.21.12
remote: Installing google-cloud-errors 1.3.0
remote: Installing faraday-net_http 3.0.2
remote: Fetching jwt 2.6.0
remote: Fetching memoist 0.16.2
remote: Installing google-protobuf 3.21.12 with native extensions
remote: Installing memoist 0.16.2
remote: Fetching multi_json 1.15.0
remote: Installing concurrent-ruby 1.1.10
remote: Installing jwt 2.6.0
remote: Installing multi_json 1.15.0
remote: Fetching os 1.1.4
remote: Fetching public_suffix 5.0.1
remote: Installing os 1.1.4
remote: Fetching rbtree 0.4.6
remote: Installing public_suffix 5.0.1
remote: Fetching minitest 5.17.0
remote: Installing rbtree 0.4.6 with native extensions
remote: Fetching builder 3.2.4
remote: Installing minitest 5.17.0
remote: Installing builder 3.2.4
remote: Fetching erubi 1.12.0
remote: Fetching mini_portile2 2.8.1
remote: Installing erubi 1.12.0
remote: Using racc 1.6.2
remote: Fetching crass 1.0.6
remote: Installing mini_portile2 2.8.1
remote: Fetching rack 2.2.5
remote: Installing crass 1.0.6
remote: Fetching nio4r 2.5.8
remote: Installing rack 2.2.5
remote: Installing nio4r 2.5.8 with native extensions
remote: Fetching websocket-extensions 0.1.5
remote: Installing websocket-extensions 0.1.5
remote: Fetching marcel 1.0.2
remote: Installing marcel 1.0.2
remote: Fetching mini_mime 1.1.2
remote: Installing mini_mime 1.1.2
remote: Using date 3.3.3
remote: Using timeout 0.3.1
remote: Using bundler 2.4.1
remote: Fetching method_source 1.0.0
remote: Installing method_source 1.0.0
remote: Fetching thor 1.2.1
remote: Installing thor 1.2.1
remote: Fetching zeitwerk 2.6.6
remote: Installing zeitwerk 2.6.6
remote: Fetching msgpack 1.6.0
remote: Installing msgpack 1.6.0 with native extensions
remote: Fetching coffee-script-source 1.12.2
remote: Installing coffee-script-source 1.12.2
remote: Fetching execjs 2.8.1
remote: Installing execjs 2.8.1
remote: Fetching ffi 1.15.5
remote: Installing ffi 1.15.5 with native extensions
remote: Fetching kaminari-core 1.2.2
remote: Installing kaminari-core 1.2.2
remote: Fetching newrelic_rpm 8.14.0
remote: Installing newrelic_rpm 8.14.0
remote: Fetching tilt 2.0.11
remote: Installing tilt 2.0.11
remote: Fetching faraday 2.7.2
remote: Installing faraday 2.7.2
remote: Fetching i18n 1.12.0
remote: Installing i18n 1.12.0
remote: Fetching tzinfo 2.0.5
remote: Installing tzinfo 2.0.5
remote: Fetching addressable 2.8.1
remote: Installing addressable 2.8.1
remote: Fetching nokogiri 1.13.10
remote: Installing nokogiri 1.13.10 with native extensions
remote: Fetching rack-test 2.0.2
remote: Installing rack-test 2.0.2
remote: Fetching sprockets 4.2.0
remote: Installing sprockets 4.2.0
remote: Fetching websocket-driver 0.7.5
remote: Installing websocket-driver 0.7.5 with native extensions
remote: Using net-protocol 0.2.1
remote: Fetching coffee-script 2.4.1
remote: Installing coffee-script 2.4.1
remote: Fetching uglifier 4.2.0
remote: Installing uglifier 4.2.0
remote: Fetching puma 6.0.1
remote: Installing puma 6.0.1 with native extensions
remote: Fetching google-cloud-env 1.6.0
remote: Installing google-cloud-env 1.6.0
remote: Fetching faraday-retry 2.0.0
remote: Installing faraday-retry 2.0.0
remote: Fetching activesupport 7.0.4
remote: Installing activesupport 7.0.4
remote: Fetching signet 0.17.0
remote: Installing signet 0.17.0
remote: Fetching bootsnap 1.15.0
remote: Installing bootsnap 1.15.0 with native extensions
remote: Fetching net-imap 0.3.4
remote: Installing net-imap 0.3.4
remote: Fetching net-pop 0.1.2
remote: Installing net-pop 0.1.2
remote: Fetching net-smtp 0.3.3
remote: Installing net-smtp 0.3.3
remote: Fetching googleapis-common-protos-types 1.5.0
remote: Installing googleapis-common-protos-types 1.5.0
remote: Fetching google-cloud-core 1.6.0
remote: Installing google-cloud-core 1.6.0
remote: Fetching globalid 1.0.0
remote: Installing globalid 1.0.0
remote: Fetching activemodel 7.0.4
remote: Installing activemodel 7.0.4
remote: Fetching googleauth 1.3.0
remote: Installing googleauth 1.3.0
remote: Fetching mail 2.8.0
remote: Fetching grpc 1.50.0
remote: Installing mail 2.8.0
remote: Fetching activejob 7.0.4
remote: Installing activejob 7.0.4
remote: Fetching activerecord 7.0.4
remote: Installing activerecord 7.0.4
remote: Installing grpc 1.50.0 with native extensions
remote: Fetching kaminari-activerecord 1.2.2
remote: Installing kaminari-activerecord 1.2.2
remote: Fetching sassc 2.4.0
remote: Installing sassc 2.4.0 with native extensions
remote: Fetching rails-dom-testing 2.0.3
remote: Fetching loofah 2.19.1
remote: Installing rails-dom-testing 2.0.3
remote: Installing loofah 2.19.1
remote: Fetching rails-html-sanitizer 1.4.4
remote: Installing rails-html-sanitizer 1.4.4
remote: Fetching actionview 7.0.4
remote: Installing actionview 7.0.4
remote: Fetching actionpack 7.0.4
remote: Fetching jbuilder 2.11.5
remote: Installing jbuilder 2.11.5
remote: Fetching kaminari-actionview 1.2.2
remote: Installing actionpack 7.0.4
remote: Installing kaminari-actionview 1.2.2
remote: Fetching kaminari 1.2.2
remote: Installing kaminari 1.2.2
remote: Fetching actioncable 7.0.4
remote: Fetching activestorage 7.0.4
remote: Installing activestorage 7.0.4
remote: Installing actioncable 7.0.4
remote: Fetching actionmailer 7.0.4
remote: Fetching railties 7.0.4
remote: Installing actionmailer 7.0.4
remote: Fetching meta-tags 2.18.0
remote: Installing railties 7.0.4
remote: Installing meta-tags 2.18.0
remote: Fetching sprockets-rails 3.4.2
remote: Installing sprockets-rails 3.4.2
remote: Fetching actionmailbox 7.0.4
remote: Installing actionmailbox 7.0.4
remote: Fetching actiontext 7.0.4
remote: Fetching coffee-rails 5.0.0
remote: Installing actiontext 7.0.4
remote: Installing coffee-rails 5.0.0
remote: Fetching rails 7.0.4
remote: Installing rails 7.0.4
remote: Fetching sassc-rails 2.1.2
remote: Installing sassc-rails 2.1.2
remote: Fetching sass-rails 6.0.0
remote: Installing sass-rails 6.0.0
remote: Fetching googleapis-common-protos 1.4.0
remote: Installing googleapis-common-protos 1.4.0
remote: Fetching gapic-common 0.16.0
remote: Installing gapic-common 0.16.0
remote: Fetching google-cloud-location 0.2.0
remote: Installing google-cloud-location 0.2.0
remote: Fetching google-cloud-firestore-v1 0.8.0
remote: Installing google-cloud-firestore-v1 0.8.0
remote: Fetching google-cloud-firestore 2.8.0
remote: Installing google-cloud-firestore 2.8.0
remote: Fetching act_as_fire_record_beta 0.0.10
remote: Installing act_as_fire_record_beta 0.0.10
remote: Bundle complete! 17 Gemfile dependencies, 93 gems now installed.
remote: Gems in the groups 'development' and 'test' were not installed.
remote: Bundled gems are installed into `./vendor/bundle`
remote: Bundle completed (760.10s)
remote: Cleaning up the bundler cache.
remote: Removing bundler (2.3.25)
remote: -----> Installing node-v16.18.1-linux-x64
remote: -----> Detecting rake tasks
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
(omit)
remote: Asset precompilation completed (6.02s)
remote: Cleaning assets
remote: Running: rake assets:clean
remote: -----> Detecting rails configuration
remote:
remote:
remote: -----> Discovering process types
remote: Procfile declares types -> web
remote: Default types for buildpack -> console, rake
remote:
remote: -----> Compressing...
remote: Done: 370.8M
remote: -----> Launching...
remote: ! Warning: Your slug size (370 MB) exceeds our soft limit (300 MB) which may affect boot time.
remote: Released v113
remote: https://foobar.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/foobar.git
be6721d..316544d cache-sandbox -> master
I'm still seeing this issue as well. Heroku locks the bundler version at 2.3.25, so upgrading to the latest isn't an option. I also see the error running the build on CircleCI:
google-protobuf-3.21.12-x86_64-linux requires ruby version < 3.2.dev, >= 2.5,
@JunichiIto Exactly - So the prebuilt binaries are not release for 3.2.0; You're just running with compilation (the ruby-platform).
We should reopen this issue, as it is not solved.
I have reopened a new issue, following the bug report template. https://github.com/protocolbuffers/protobuf/issues/11538
I was experiencing the same problem with Heroku as well. What fixed it for me was running the following command to add the x86_64-linux platform to my Gemfile:
bundle lock --add-platform x86_64-linux
I already had the ruby platform so make sure you have that as well so it can fall back to that. If you don't have the ruby platform, add it by running:
bundle lock --add-platform ruby