diff --git a/spec/helpers/mock_project.rb b/spec/helpers/mock_project.rb index 1e659cc71..b22e5d90f 100644 --- a/spec/helpers/mock_project.rb +++ b/spec/helpers/mock_project.rb @@ -92,8 +92,18 @@ def bundle_install(version: nil) opts = {} opts[:chdir] = path Bundler.with_unbundled_env do - ::Gem.install("bundler", bundler_version) - out, err, status = Open3.capture3(["bundle", "_#{bundler_version}_", "install"].join(" "), opts) + cmd = + # prerelease versions are not always available on rubygems.org + # so in this case, we install whichever is the latest + if ::Gem::Version.new(bundler_version).prerelease? + ::Gem.install("bundler") + "bundle install" + else + ::Gem.install("bundler", bundler_version) + "bundle _#{bundler_version}_ install" + end + + out, err, status = Open3.capture3(cmd, opts) ExecResult.new(out: out, err: err, status: T.must(status.success?)) end end