Describe the problem as clearly as you can
Rails CI gets https://buildkite.com/rails/rails/builds/101872#018bc9a4-857e-4384-87ec-c4b77a7c2e14/2791-2800
Could not find gem 'nokogiri (>= 1.8.1, != 1.11.0) ruby, windows' with platform
then git bisect the https://github.com/ruby/ruby repository says ruby/ruby@435eb56 triggers it.
$ git bisect good
435eb56f6175b7c9a16121ec8441f7492fa9aec5 is the first bad commit
commit 435eb56f6175b7c9a16121ec8441f7492fa9aec5
Author: David Rodríguez <deivid.rodriguez@riseup.net>
Date: Fri Mar 17 14:18:30 2023 +0100
[rubygems/rubygems] Automatically lock extra ruby platforms
Since we started locking the specific platform in the lockfile, that has
created an annoying situation for users that don't develop on Linux.
They will create a lockfile on their machines, locking their local
platform, for example, darwin. But then that lockfile won't work
automatically when deploying to Heroku for example, because the lockfile
is frozen and the Linux platform is not included.
There's the chance though that resolving against two platforms (Linux +
the local platform) won't succeed while resolving for just the current
platform will. So, instead, we check other platform specific variants
available for the resolution we initially found, and lock those
platforms and specs too if they satisfy the resolution.
This is only done when generating new lockfiles from scratch, existing
lockfiles should keep working as before, and it's only done for "ruby
platforms", i.e., not Java or Windows which have their own complexities,
and so are excluded.
With this change, we expect that MacOS users can bundle locally and
deploy to Heroku without needing to do anything special.
https://github.com/rubygems/rubygems/commit/5f24f06bc5
lib/bundler/definition.rb | 15 ++-
lib/bundler/spec_set.rb | 38 ++++++
spec/bundler/commands/lock_spec.rb | 11 +-
spec/bundler/commands/update_spec.rb | 26 +++-
spec/bundler/install/gemfile/sources_spec.rb | 30 ++---
.../install/gemfile/specific_platform_spec.rb | 136 ++++++++++++++++++---
spec/bundler/lock/lockfile_spec.rb | 2 +-
spec/bundler/support/platforms.rb | 2 +-
8 files changed, 216 insertions(+), 44 deletions(-)
$
Did you try upgrading rubygems & bundler?
Yes. and bundle update --bundler workarounds this issue. Rails CI removes the Gemfile.lock and run bundle install so it would be appreciated if this issue is resolved.
https://github.com/rails/buildkite-config/blob/2369f8f0fb678cd6865a13c8e1742244dbfb2772/Dockerfile#L134
git clone https://github.com/rails/rails
cd rails
rm Gemfile.lock
bundle update --bundler
bundle install
Post steps to reproduce the problem
This issue reproduces against Ruby installed from the source code and the master-nightly-jammy image at https://hub.docker.com/r/rubylang/ruby
- Ruby build from the souce,
#!/bin/bash
cd /home/yahonda/src/github.com/ruby/ruby # this directory clones https://github.com/ruby/ruby
make distclean
make clean
./autogen.sh
./configure --prefix="${HOME}/.rbenv/versions/trunk"
make -j 8
make install
Which command did you run?
git clone https://github.com/rails/rails
cd rails
rm Gemfile.lock
bundle install
What were you expecting to happen?
It should install required rubygems.
What actually happened?
Could not find gem 'nokogiri (>= 1.8.1, != 1.11.0) ruby, windows' with platform 'x86_64-linux' in rubygems repository
$ bundle install
Fetching https://github.com/matthewd/websocket-client-simple.git
Fetching https://github.com/rails/sdoc.git
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Resolving dependencies...
Resolving dependencies...
Could not find gem 'nokogiri (>= 1.8.1, != 1.11.0) ruby, windows' with platform 'x86_64-linux' in rubygems repository
https://rubygems.org/ or installed locally.
The source contains the following gems matching 'nokogiri (>= 1.8.1, != 1.11.0) ruby, windows':
* nokogiri-1.8.1-java
* nokogiri-1.8.1
* nokogiri-1.8.1-x64-mingw32
* nokogiri-1.8.1-x86-mingw32
* nokogiri-1.8.2-java
* nokogiri-1.8.2
* nokogiri-1.8.2-x64-mingw32
* nokogiri-1.8.2-x86-mingw32
* nokogiri-1.8.3-java
* nokogiri-1.8.3
* nokogiri-1.8.3-x64-mingw32
* nokogiri-1.8.3-x86-mingw32
* nokogiri-1.8.4-java
* nokogiri-1.8.4
* nokogiri-1.8.4-x64-mingw32
* nokogiri-1.8.4-x86-mingw32
* nokogiri-1.8.5-java
* nokogiri-1.8.5
* nokogiri-1.8.5-x64-mingw32
* nokogiri-1.8.5-x86-mingw32
* nokogiri-1.9.0.rc1-java
* nokogiri-1.9.0.rc1
* nokogiri-1.9.0.rc1-x64-mingw32
* nokogiri-1.9.0.rc1-x86-mingw32
* nokogiri-1.9.0-java
* nokogiri-1.9.0
* nokogiri-1.9.0-x64-mingw32
* nokogiri-1.9.0-x86-mingw32
* nokogiri-1.9.1-java
* nokogiri-1.9.1
* nokogiri-1.9.1-x64-mingw32
* nokogiri-1.9.1-x86-mingw32
* nokogiri-1.10.0.rc1-java
* nokogiri-1.10.0.rc1
* nokogiri-1.10.0.rc1-x64-mingw32
* nokogiri-1.10.0.rc1-x86-mingw32
* nokogiri-1.10.0-java
* nokogiri-1.10.0
* nokogiri-1.10.0-x64-mingw32
* nokogiri-1.10.0-x86-mingw32
* nokogiri-1.10.1-java
* nokogiri-1.10.1
* nokogiri-1.10.1-x64-mingw32
* nokogiri-1.10.1-x86-mingw32
* nokogiri-1.10.2-java
* nokogiri-1.10.2
* nokogiri-1.10.2-x64-mingw32
* nokogiri-1.10.2-x86-mingw32
* nokogiri-1.10.3-java
* nokogiri-1.10.3
* nokogiri-1.10.3-x64-mingw32
* nokogiri-1.10.3-x86-mingw32
* nokogiri-1.10.4-java
* nokogiri-1.10.4
* nokogiri-1.10.4-x64-mingw32
* nokogiri-1.10.4-x86-mingw32
* nokogiri-1.10.5-java
* nokogiri-1.10.5
* nokogiri-1.10.5-x64-mingw32
* nokogiri-1.10.5-x86-mingw32
* nokogiri-1.10.6-java
* nokogiri-1.10.6
* nokogiri-1.10.6-x64-mingw32
* nokogiri-1.10.6-x86-mingw32
* nokogiri-1.10.7-java
* nokogiri-1.10.7
* nokogiri-1.10.7-x64-mingw32
* nokogiri-1.10.7-x86-mingw32
* nokogiri-1.10.8-java
* nokogiri-1.10.8
* nokogiri-1.10.8-x64-mingw32
* nokogiri-1.10.8-x86-mingw32
* nokogiri-1.10.9-java
* nokogiri-1.10.9
* nokogiri-1.10.9-x64-mingw32
* nokogiri-1.10.9-x86-mingw32
* nokogiri-1.10.10-java
* nokogiri-1.10.10
* nokogiri-1.10.10-x64-mingw32
* nokogiri-1.10.10-x86-mingw32
* nokogiri-1.11.0.rc1-java
* nokogiri-1.11.0.rc1
* nokogiri-1.11.0.rc1-x64-mingw32
* nokogiri-1.11.0.rc1-x86-linux
* nokogiri-1.11.0.rc1-x86-mingw32
* nokogiri-1.11.0.rc1-x86_64-linux
* nokogiri-1.11.0.rc2-java
* nokogiri-1.11.0.rc2
* nokogiri-1.11.0.rc2-x64-mingw32
* nokogiri-1.11.0.rc2-x86-linux
* nokogiri-1.11.0.rc2-x86-mingw32
* nokogiri-1.11.0.rc2-x86_64-linux
* nokogiri-1.11.0.rc3-java
* nokogiri-1.11.0.rc3
* nokogiri-1.11.0.rc3-x64-mingw32
* nokogiri-1.11.0.rc3-x86-linux
* nokogiri-1.11.0.rc3-x86-mingw32
* nokogiri-1.11.0.rc3-x86_64-darwin-19
* nokogiri-1.11.0.rc3-x86_64-linux
* nokogiri-1.11.0.rc4-arm64-darwin
* nokogiri-1.11.0.rc4-java
* nokogiri-1.11.0.rc4
* nokogiri-1.11.0.rc4-x64-mingw32
* nokogiri-1.11.0.rc4-x86-linux
* nokogiri-1.11.0.rc4-x86-mingw32
* nokogiri-1.11.0.rc4-x86_64-darwin
* nokogiri-1.11.0.rc4-x86_64-linux
* nokogiri-1.11.1-arm64-darwin
* nokogiri-1.11.1-java
* nokogiri-1.11.1
* nokogiri-1.11.1-x64-mingw32
* nokogiri-1.11.1-x86-linux
* nokogiri-1.11.1-x86-mingw32
* nokogiri-1.11.1-x86_64-darwin
* nokogiri-1.11.1-x86_64-linux
* nokogiri-1.11.2-arm64-darwin
* nokogiri-1.11.2-java
* nokogiri-1.11.2
* nokogiri-1.11.2-x64-mingw32
* nokogiri-1.11.2-x86-linux
* nokogiri-1.11.2-x86-mingw32
* nokogiri-1.11.2-x86_64-darwin
* nokogiri-1.11.2-x86_64-linux
* nokogiri-1.11.3-arm64-darwin
* nokogiri-1.11.3-java
* nokogiri-1.11.3
* nokogiri-1.11.3-x64-mingw32
* nokogiri-1.11.3-x86-linux
* nokogiri-1.11.3-x86-mingw32
* nokogiri-1.11.3-x86_64-darwin
* nokogiri-1.11.3-x86_64-linux
* nokogiri-1.11.4-arm64-darwin
* nokogiri-1.11.4-java
* nokogiri-1.11.4
* nokogiri-1.11.4-x64-mingw32
* nokogiri-1.11.4-x86-linux
* nokogiri-1.11.4-x86-mingw32
* nokogiri-1.11.4-x86_64-darwin
* nokogiri-1.11.4-x86_64-linux
* nokogiri-1.11.5-arm64-darwin
* nokogiri-1.11.5-java
* nokogiri-1.11.5
* nokogiri-1.11.5-x64-mingw32
* nokogiri-1.11.5-x86-linux
* nokogiri-1.11.5-x86-mingw32
* nokogiri-1.11.5-x86_64-darwin
* nokogiri-1.11.5-x86_64-linux
* nokogiri-1.11.6-arm64-darwin
* nokogiri-1.11.6-java
* nokogiri-1.11.6
* nokogiri-1.11.6-x64-mingw32
* nokogiri-1.11.6-x86-linux
* nokogiri-1.11.6-x86-mingw32
* nokogiri-1.11.6-x86_64-darwin
* nokogiri-1.11.6-x86_64-linux
* nokogiri-1.11.7-arm64-darwin
* nokogiri-1.11.7-java
* nokogiri-1.11.7
* nokogiri-1.11.7-x64-mingw32
* nokogiri-1.11.7-x86-linux
* nokogiri-1.11.7-x86-mingw32
* nokogiri-1.11.7-x86_64-darwin
* nokogiri-1.11.7-x86_64-linux
* nokogiri-1.12.0.rc1-arm64-darwin
* nokogiri-1.12.0.rc1-java
* nokogiri-1.12.0.rc1
* nokogiri-1.12.0.rc1-x64-mingw32
* nokogiri-1.12.0.rc1-x86-linux
* nokogiri-1.12.0.rc1-x86-mingw32
* nokogiri-1.12.0.rc1-x86_64-darwin
* nokogiri-1.12.0.rc1-x86_64-linux
* nokogiri-1.12.0-arm64-darwin
* nokogiri-1.12.0-java
* nokogiri-1.12.0
* nokogiri-1.12.0-x64-mingw32
* nokogiri-1.12.0-x86-linux
* nokogiri-1.12.0-x86-mingw32
* nokogiri-1.12.0-x86_64-darwin
* nokogiri-1.12.0-x86_64-linux
* nokogiri-1.12.1-arm64-darwin
* nokogiri-1.12.1-java
* nokogiri-1.12.1
* nokogiri-1.12.1-x64-mingw32
* nokogiri-1.12.1-x86-linux
* nokogiri-1.12.1-x86-mingw32
* nokogiri-1.12.1-x86_64-darwin
* nokogiri-1.12.1-x86_64-linux
* nokogiri-1.12.2-arm64-darwin
* nokogiri-1.12.2-java
* nokogiri-1.12.2
* nokogiri-1.12.2-x64-mingw32
* nokogiri-1.12.2-x86-linux
* nokogiri-1.12.2-x86-mingw32
* nokogiri-1.12.2-x86_64-darwin
* nokogiri-1.12.2-x86_64-linux
* nokogiri-1.12.3-arm64-darwin
* nokogiri-1.12.3-java
* nokogiri-1.12.3
* nokogiri-1.12.3-x64-mingw32
* nokogiri-1.12.3-x86-linux
* nokogiri-1.12.3-x86-mingw32
* nokogiri-1.12.3-x86_64-darwin
* nokogiri-1.12.3-x86_64-linux
* nokogiri-1.12.4-arm64-darwin
* nokogiri-1.12.4-java
* nokogiri-1.12.4
* nokogiri-1.12.4-x64-mingw32
* nokogiri-1.12.4-x86-linux
* nokogiri-1.12.4-x86-mingw32
* nokogiri-1.12.4-x86_64-darwin
* nokogiri-1.12.4-x86_64-linux
* nokogiri-1.12.5-arm64-darwin
* nokogiri-1.12.5-java
* nokogiri-1.12.5
* nokogiri-1.12.5-x64-mingw32
* nokogiri-1.12.5-x86-linux
* nokogiri-1.12.5-x86-mingw32
* nokogiri-1.12.5-x86_64-darwin
* nokogiri-1.12.5-x86_64-linux
* nokogiri-1.13.0-aarch64-linux
* nokogiri-1.13.0-arm64-darwin
* nokogiri-1.13.0-java
* nokogiri-1.13.0
* nokogiri-1.13.0-x64-mingw-ucrt
* nokogiri-1.13.0-x64-mingw32
* nokogiri-1.13.0-x86-linux
* nokogiri-1.13.0-x86-mingw32
* nokogiri-1.13.0-x86_64-darwin
* nokogiri-1.13.0-x86_64-linux
* nokogiri-1.13.1-aarch64-linux
* nokogiri-1.13.1-arm64-darwin
* nokogiri-1.13.1-java
* nokogiri-1.13.1
* nokogiri-1.13.1-x64-mingw-ucrt
* nokogiri-1.13.1-x64-mingw32
* nokogiri-1.13.1-x86-linux
* nokogiri-1.13.1-x86-mingw32
* nokogiri-1.13.1-x86_64-darwin
* nokogiri-1.13.1-x86_64-linux
* nokogiri-1.13.2-aarch64-linux
* nokogiri-1.13.2-arm64-darwin
* nokogiri-1.13.2-java
* nokogiri-1.13.2
* nokogiri-1.13.2-x64-mingw-ucrt
* nokogiri-1.13.2-x64-mingw32
* nokogiri-1.13.2-x86-linux
* nokogiri-1.13.2-x86-mingw32
* nokogiri-1.13.2-x86_64-darwin
* nokogiri-1.13.2-x86_64-linux
* nokogiri-1.13.3-aarch64-linux
* nokogiri-1.13.3-arm64-darwin
* nokogiri-1.13.3-java
* nokogiri-1.13.3
* nokogiri-1.13.3-x64-mingw-ucrt
* nokogiri-1.13.3-x64-mingw32
* nokogiri-1.13.3-x86-linux
* nokogiri-1.13.3-x86-mingw32
* nokogiri-1.13.3-x86_64-darwin
* nokogiri-1.13.3-x86_64-linux
* nokogiri-1.13.4-aarch64-linux
* nokogiri-1.13.4-arm64-darwin
* nokogiri-1.13.4-java
* nokogiri-1.13.4
* nokogiri-1.13.4-x64-mingw-ucrt
* nokogiri-1.13.4-x64-mingw32
* nokogiri-1.13.4-x86-linux
* nokogiri-1.13.4-x86-mingw32
* nokogiri-1.13.4-x86_64-darwin
* nokogiri-1.13.4-x86_64-linux
* nokogiri-1.13.5-aarch64-linux
* nokogiri-1.13.5-arm64-darwin
* nokogiri-1.13.5-java
* nokogiri-1.13.5
* nokogiri-1.13.5-x64-mingw-ucrt
* nokogiri-1.13.5-x64-mingw32
* nokogiri-1.13.5-x86-linux
* nokogiri-1.13.5-x86-mingw32
* nokogiri-1.13.5-x86_64-darwin
* nokogiri-1.13.5-x86_64-linux
* nokogiri-1.13.6-aarch64-linux
* nokogiri-1.13.6-arm64-darwin
* nokogiri-1.13.6-java
* nokogiri-1.13.6
* nokogiri-1.13.6-x64-mingw-ucrt
* nokogiri-1.13.6-x64-mingw32
* nokogiri-1.13.6-x86-linux
* nokogiri-1.13.6-x86-mingw32
* nokogiri-1.13.6-x86_64-darwin
* nokogiri-1.13.6-x86_64-linux
* nokogiri-1.13.7-aarch64-linux
* nokogiri-1.13.7-arm64-darwin
* nokogiri-1.13.7-java
* nokogiri-1.13.7
* nokogiri-1.13.7-x64-mingw-ucrt
* nokogiri-1.13.7-x64-mingw32
* nokogiri-1.13.7-x86-linux
* nokogiri-1.13.7-x86-mingw32
* nokogiri-1.13.7-x86_64-darwin
* nokogiri-1.13.7-x86_64-linux
* nokogiri-1.13.8-aarch64-linux
* nokogiri-1.13.8-arm64-darwin
* nokogiri-1.13.8-java
* nokogiri-1.13.8
* nokogiri-1.13.8-x64-mingw-ucrt
* nokogiri-1.13.8-x64-mingw32
* nokogiri-1.13.8-x86-linux
* nokogiri-1.13.8-x86-mingw32
* nokogiri-1.13.8-x86_64-darwin
* nokogiri-1.13.8-x86_64-linux
* nokogiri-1.13.9-aarch64-linux
* nokogiri-1.13.9-arm64-darwin
* nokogiri-1.13.9-java
* nokogiri-1.13.9
* nokogiri-1.13.9-x64-mingw-ucrt
* nokogiri-1.13.9-x64-mingw32
* nokogiri-1.13.9-x86-linux
* nokogiri-1.13.9-x86-mingw32
* nokogiri-1.13.9-x86_64-darwin
* nokogiri-1.13.9-x86_64-linux
* nokogiri-1.13.10-aarch64-linux
* nokogiri-1.13.10-arm64-darwin
* nokogiri-1.13.10-java
* nokogiri-1.13.10
* nokogiri-1.13.10-x64-mingw-ucrt
* nokogiri-1.13.10-x64-mingw32
* nokogiri-1.13.10-x86-linux
* nokogiri-1.13.10-x86-mingw32
* nokogiri-1.13.10-x86_64-darwin
* nokogiri-1.13.10-x86_64-linux
* nokogiri-1.14.0.rc1-aarch64-linux
* nokogiri-1.14.0.rc1-arm-linux
* nokogiri-1.14.0.rc1-arm64-darwin
* nokogiri-1.14.0.rc1-java
* nokogiri-1.14.0.rc1
* nokogiri-1.14.0.rc1-x64-mingw-ucrt
* nokogiri-1.14.0.rc1-x64-mingw32
* nokogiri-1.14.0.rc1-x86-linux
* nokogiri-1.14.0.rc1-x86-mingw32
* nokogiri-1.14.0.rc1-x86_64-darwin
* nokogiri-1.14.0.rc1-x86_64-linux
* nokogiri-1.14.0-aarch64-linux
* nokogiri-1.14.0-arm-linux
* nokogiri-1.14.0-arm64-darwin
* nokogiri-1.14.0-java
* nokogiri-1.14.0
* nokogiri-1.14.0-x64-mingw-ucrt
* nokogiri-1.14.0-x64-mingw32
* nokogiri-1.14.0-x86-linux
* nokogiri-1.14.0-x86-mingw32
* nokogiri-1.14.0-x86_64-darwin
* nokogiri-1.14.0-x86_64-linux
* nokogiri-1.14.1-aarch64-linux
* nokogiri-1.14.1-arm-linux
* nokogiri-1.14.1-arm64-darwin
* nokogiri-1.14.1-java
* nokogiri-1.14.1
* nokogiri-1.14.1-x64-mingw-ucrt
* nokogiri-1.14.1-x64-mingw32
* nokogiri-1.14.1-x86-linux
* nokogiri-1.14.1-x86-mingw32
* nokogiri-1.14.1-x86_64-darwin
* nokogiri-1.14.1-x86_64-linux
* nokogiri-1.14.2-aarch64-linux
* nokogiri-1.14.2-arm-linux
* nokogiri-1.14.2-arm64-darwin
* nokogiri-1.14.2-java
* nokogiri-1.14.2
* nokogiri-1.14.2-x64-mingw-ucrt
* nokogiri-1.14.2-x64-mingw32
* nokogiri-1.14.2-x86-linux
* nokogiri-1.14.2-x86-mingw32
* nokogiri-1.14.2-x86_64-darwin
* nokogiri-1.14.2-x86_64-linux
* nokogiri-1.14.3-aarch64-linux
* nokogiri-1.14.3-arm-linux
* nokogiri-1.14.3-arm64-darwin
* nokogiri-1.14.3-java
* nokogiri-1.14.3
* nokogiri-1.14.3-x64-mingw-ucrt
* nokogiri-1.14.3-x64-mingw32
* nokogiri-1.14.3-x86-linux
* nokogiri-1.14.3-x86-mingw32
* nokogiri-1.14.3-x86_64-darwin
* nokogiri-1.14.3-x86_64-linux
* nokogiri-1.14.4-aarch64-linux
* nokogiri-1.14.4-arm-linux
* nokogiri-1.14.4-arm64-darwin
* nokogiri-1.14.4-java
* nokogiri-1.14.4
* nokogiri-1.14.4-x64-mingw-ucrt
* nokogiri-1.14.4-x64-mingw32
* nokogiri-1.14.4-x86-linux
* nokogiri-1.14.4-x86-mingw32
* nokogiri-1.14.4-x86_64-darwin
* nokogiri-1.14.4-x86_64-linux
* nokogiri-1.14.5-aarch64-linux
* nokogiri-1.14.5-arm-linux
* nokogiri-1.14.5-arm64-darwin
* nokogiri-1.14.5-java
* nokogiri-1.14.5
* nokogiri-1.14.5-x64-mingw-ucrt
* nokogiri-1.14.5-x64-mingw32
* nokogiri-1.14.5-x86-linux
* nokogiri-1.14.5-x86-mingw32
* nokogiri-1.14.5-x86_64-darwin
* nokogiri-1.14.5-x86_64-linux
* nokogiri-1.15.0-aarch64-linux
* nokogiri-1.15.0-arm-linux
* nokogiri-1.15.0-arm64-darwin
* nokogiri-1.15.0-java
* nokogiri-1.15.0
* nokogiri-1.15.0-x64-mingw-ucrt
* nokogiri-1.15.0-x64-mingw32
* nokogiri-1.15.0-x86-linux
* nokogiri-1.15.0-x86-mingw32
* nokogiri-1.15.0-x86_64-darwin
* nokogiri-1.15.0-x86_64-linux
* nokogiri-1.15.1-aarch64-linux
* nokogiri-1.15.1-arm-linux
* nokogiri-1.15.1-arm64-darwin
* nokogiri-1.15.1-java
* nokogiri-1.15.1
* nokogiri-1.15.1-x64-mingw-ucrt
* nokogiri-1.15.1-x64-mingw32
* nokogiri-1.15.1-x86-linux
* nokogiri-1.15.1-x86-mingw32
* nokogiri-1.15.1-x86_64-darwin
* nokogiri-1.15.1-x86_64-linux
* nokogiri-1.15.2-aarch64-linux
* nokogiri-1.15.2-arm-linux
* nokogiri-1.15.2-arm64-darwin
* nokogiri-1.15.2-java
* nokogiri-1.15.2
* nokogiri-1.15.2-x64-mingw-ucrt
* nokogiri-1.15.2-x64-mingw32
* nokogiri-1.15.2-x86-linux
* nokogiri-1.15.2-x86-mingw32
* nokogiri-1.15.2-x86_64-darwin
* nokogiri-1.15.2-x86_64-linux
* nokogiri-1.15.3-aarch64-linux
* nokogiri-1.15.3-arm-linux
* nokogiri-1.15.3-arm64-darwin
* nokogiri-1.15.3-java
* nokogiri-1.15.3
* nokogiri-1.15.3-x64-mingw-ucrt
* nokogiri-1.15.3-x64-mingw32
* nokogiri-1.15.3-x86-linux
* nokogiri-1.15.3-x86-mingw32
* nokogiri-1.15.3-x86_64-darwin
* nokogiri-1.15.3-x86_64-linux
* nokogiri-1.15.4-aarch64-linux
* nokogiri-1.15.4-arm-linux
* nokogiri-1.15.4-arm64-darwin
* nokogiri-1.15.4-java
* nokogiri-1.15.4
* nokogiri-1.15.4-x64-mingw-ucrt
* nokogiri-1.15.4-x64-mingw32
* nokogiri-1.15.4-x86-linux
* nokogiri-1.15.4-x86-mingw32
* nokogiri-1.15.4-x86_64-darwin
* nokogiri-1.15.4-x86_64-linux
$
If not included with the output of your command, run bundle env and paste the output below
$ bundle env
Environment
Bundler 2.5.0.dev
Platforms ruby, x86_64-linux
Ruby 3.3.0p-1 (2023-11-13 revision 435eb56f6175b7c9a16121ec8441f7492fa9aec5) [x86_64-linux]
Full Path /home/yahonda/.rbenv/versions/trunk/bin/ruby
Config Dir /home/yahonda/.rbenv/versions/trunk/etc
RubyGems 3.5.0.dev
Gem Home /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0
Gem Path /home/yahonda/.gem/ruby/3.3.0+0:/home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0
User Home /home/yahonda
User Path /home/yahonda/.gem/ruby/3.3.0+0
Bin Dir /home/yahonda/.rbenv/versions/trunk/bin
Tools
Git 2.40.1
RVM not installed
rbenv rbenv 1.2.0-46-g52acbdf
chruby not installed
Bundler Build Metadata
Built At 2023-11-14
Git SHA unknown
Released Version false
Gemfile
Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
gemspec
if RUBY_VERSION < "3"
gem "minitest", ">= 5.15.0", "< 5.16"
else
gem "minitest", ">= 5.15.0"
end
# We need a newish Rake since Active Job sets its test tasks' descriptions.
gem "rake", ">= 13"
gem "sprockets-rails", ">= 2.0.0"
gem "propshaft", ">= 0.1.7"
gem "capybara", ">= 3.39"
if RUBY_VERSION < "3"
gem "selenium-webdriver", "<= 4.9.0"
gem "webdrivers"
else
gem "selenium-webdriver", ">= 4.11.0"
end
gem "rack-cache", "~> 1.2"
gem "stimulus-rails"
gem "turbo-rails"
gem "jsbundling-rails"
gem "cssbundling-rails"
gem "importmap-rails", ">= 1.2.3"
gem "tailwindcss-rails"
gem "dartsass-rails"
# require: false so bcrypt is loaded only when has_secure_password is used.
# This is to avoid Active Model (and by extension the entire framework)
# being dependent on a binary library.
gem "bcrypt", "~> 3.1.11", require: false
# This needs to be with require false to avoid it being automatically loaded by
# sprockets.
gem "terser", ">= 1.1.4", require: false
# Explicitly avoid 1.x that doesn't support Ruby 2.4+
gem "json", ">= 2.0.0"
# Workaround until Ruby ships with cgi version 0.3.6 or higher.
gem "cgi", ">= 0.3.6", require: false
group :lint do
gem "syntax_tree", "6.1.1", require: false
end
group :rubocop do
gem "rubocop", ">= 1.25.1", require: false
gem "rubocop-minitest", require: false
gem "rubocop-packaging", require: false
gem "rubocop-performance", require: false
gem "rubocop-rails", require: false
gem "rubocop-md", require: false
end
group :mdl do
gem "mdl", require: false
end
group :doc do
gem "sdoc", git: "https://github.com/rails/sdoc.git", branch: "main"
gem "rdoc", "~> 6.5"
gem "redcarpet", "~> 3.2.3", platforms: :ruby
gem "w3c_validators", "~> 1.3.6"
gem "rouge"
gem "rubyzip", "~> 2.0"
end
# Active Support
gem "dalli", ">= 3.0.1"
gem "listen", "~> 3.3", require: false
gem "libxml-ruby", platforms: :ruby
gem "connection_pool", require: false
gem "rexml", require: false
gem "msgpack", ">= 1.7.0", require: false
# for railties
gem "bootsnap", ">= 1.4.4", require: false
gem "webrick", require: false
gem "jbuilder", require: false
gem "web-console", require: false
# Action Pack and railties
rack_version = ENV.fetch("RACK", "~> 3.0")
if rack_version != "head"
gem "rack", rack_version
else
gem "rack", git: "https://github.com/rack/rack.git", branch: "main"
end
# Active Job
group :job do
gem "resque", require: false
gem "resque-scheduler", require: false
gem "sidekiq", require: false
gem "sucker_punch", require: false
gem "delayed_job", require: false
gem "queue_classic", ">= 4.0.0", require: false, platforms: :ruby
gem "sneakers", require: false
gem "backburner", require: false
gem "delayed_job_active_record", require: false
end
# Action Cable
group :cable do
gem "puma", ">= 5.0.3", require: false
gem "redis", ">= 4.0.1", require: false
gem "redis-namespace"
gem "websocket-client-simple", github: "matthewd/websocket-client-simple", branch: "close-race", require: false
end
# Active Storage
group :storage do
gem "aws-sdk-s3", require: false
gem "google-cloud-storage", "~> 1.11", require: false
gem "azure-storage-blob", "~> 2.0", require: false
gem "image_processing", "~> 1.2"
end
# Action Mailbox
gem "aws-sdk-sns", require: false
gem "webmock"
# Add your own local bundler stuff.
local_gemfile = File.expand_path(".Gemfile", __dir__)
instance_eval File.read local_gemfile if File.exist? local_gemfile
group :test do
gem "minitest-bisect"
gem "minitest-ci", require: false
gem "minitest-retry"
platforms :mri do
gem "stackprof"
gem "debug", ">= 1.1.0", require: false
end
gem "benchmark-ips"
end
platforms :ruby, :windows do
gem "nokogiri", ">= 1.8.1", "!= 1.11.0"
# Needed for compiling the ActionDispatch::Journey parser.
gem "racc", ">=1.4.6", require: false
# Active Record.
gem "sqlite3", "~> 1.6", ">= 1.6.6"
group :db do
gem "pg", "~> 1.3"
gem "mysql2", "~> 0.5"
gem "trilogy", ">= 2.5.0"
end
end
platforms :jruby do
if ENV["AR_JDBC"]
gem "activerecord-jdbcsqlite3-adapter", github: "jruby/activerecord-jdbc-adapter", branch: "master"
group :db do
gem "activerecord-jdbcmysql-adapter", github: "jruby/activerecord-jdbc-adapter", branch: "master"
gem "activerecord-jdbcpostgresql-adapter", github: "jruby/activerecord-jdbc-adapter", branch: "master"
end
else
gem "activerecord-jdbcsqlite3-adapter", ">= 1.3.0"
group :db do
gem "activerecord-jdbcmysql-adapter", ">= 1.3.0"
gem "activerecord-jdbcpostgresql-adapter", ">= 1.3.0"
end
end
end
# Gems that are necessary for Active Record tests with Oracle.
if ENV["ORACLE_ENHANCED"]
platforms :ruby do
gem "ruby-oci8", "~> 2.2"
end
gem "activerecord-oracle_enhanced-adapter", github: "rsim/oracle-enhanced", branch: "master"
end
gem "tzinfo-data", platforms: [:windows, :jruby]
gem "wdm", ">= 0.1.0", platforms: [:windows]
# The error_highlight gem only works on CRuby 3.1 or later.
# Also, Rails depends on a new API available since error_highlight 0.4.0.
# (Note that Ruby 3.1 bundles error_highlight 0.3.0.)
if RUBY_VERSION >= "3.1" && RUBY_VERSION < "3.2"
gem "error_highlight", ">= 0.4.0", platforms: [:ruby]
end
Gemfile.lock
<No /home/yahonda/src/github.com/rails/rails/Gemfile.lock found>
Gemspecs
rails.gemspec
# frozen_string_literal: true
version = File.read(File.expand_path("RAILS_VERSION", __dir__)).strip
Gem::Specification.new do |s|
s.platform = Gem::Platform::RUBY
s.name = "rails"
s.version = version
s.summary = "Full-stack web application framework."
s.description = "Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration."
s.required_ruby_version = ">= 2.7.0"
s.required_rubygems_version = ">= 1.8.11"
s.license = "MIT"
s.author = "David Heinemeier Hansson"
s.email = "david@loudthinking.com"
s.homepage = "https://rubyonrails.org"
s.files = ["README.md", "MIT-LICENSE"]
s.metadata = {
"bug_tracker_uri" => "https://github.com/rails/rails/issues",
"changelog_uri" => "https://github.com/rails/rails/releases/tag/v#{version}",
"documentation_uri" => "https://api.rubyonrails.org/v#{version}/",
"mailing_list_uri" => "https://discuss.rubyonrails.org/c/rubyonrails-talk",
"source_code_uri" => "https://github.com/rails/rails/tree/v#{version}",
"rubygems_mfa_required" => "true",
}
s.add_dependency "activesupport", version
s.add_dependency "actionpack", version
s.add_dependency "actionview", version
s.add_dependency "activemodel", version
s.add_dependency "activerecord", version
s.add_dependency "actionmailer", version
s.add_dependency "activejob", version
s.add_dependency "actioncable", version
s.add_dependency "activestorage", version
s.add_dependency "actionmailbox", version
s.add_dependency "actiontext", version
s.add_dependency "railties", version
s.add_dependency "bundler", ">= 1.15.0"
end
Describe the problem as clearly as you can
Rails CI gets https://buildkite.com/rails/rails/builds/101872#018bc9a4-857e-4384-87ec-c4b77a7c2e14/2791-2800
then
git bisectthe https://github.com/ruby/ruby repository says ruby/ruby@435eb56 triggers it.Did you try upgrading rubygems & bundler?
Yes. and
bundle update --bundlerworkarounds this issue. Rails CI removes theGemfile.lockand runbundle installso it would be appreciated if this issue is resolved.https://github.com/rails/buildkite-config/blob/2369f8f0fb678cd6865a13c8e1742244dbfb2772/Dockerfile#L134
Post steps to reproduce the problem
This issue reproduces against Ruby installed from the source code and the
master-nightly-jammyimage at https://hub.docker.com/r/rubylang/rubyWhich command did you run?
What were you expecting to happen?
It should install required rubygems.
What actually happened?
Could not find gem 'nokogiri (>= 1.8.1, != 1.11.0) ruby, windows' with platform 'x86_64-linux' in rubygems repositoryIf not included with the output of your command, run
bundle envand paste the output below$ bundle env
Environment
Bundler Build Metadata
Gemfile
Gemfile
Gemfile.lock
Gemspecs
rails.gemspec