[前][次][番号順一覧][スレッド一覧]

ruby-changes:72586

From: David <ko1@a...>
Date: Mon, 18 Jul 2022 19:08:04 +0900 (JST)
Subject: [ruby-changes:72586] 01560e1c53 (master): [rubygems/rubygems] Improve error message when gems cannot be found

https://git.ruby-lang.org/ruby.git/commit/?id=01560e1c53

From 01560e1c53ce2e1fcf3cdc2480c6f75ca7c6f0a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <deivid.rodriguez@r...>
Date: Fri, 19 Nov 2021 13:13:19 +0100
Subject: [rubygems/rubygems] Improve error message when gems cannot be found

Include the source of each gem.

https://github.com/rubygems/rubygems/commit/a0bed2fb79
---
 lib/bundler/definition.rb           | 6 +++++-
 spec/bundler/install/yanked_spec.rb | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 0580860845..8f43befe35 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -495,7 +495,11 @@ module Bundler https://github.com/ruby/ruby/blob/trunk/lib/bundler/definition.rb#L495
                              "removed in order to install."
         end
 
-        raise GemNotFound, "Could not find #{missing_specs.map(&:full_name).join(", ")} in any of the sources"
+        missing_specs_list = missing_specs.group_by(&:source).map do |source, missing_specs_for_source|
+          "#{missing_specs_for_source.map(&:full_name).join(", ")} in #{source}"
+        end
+
+        raise GemNotFound, "Could not find #{missing_specs_list.join(" nor ")}"
       end
 
       unless specs["bundler"].any?
diff --git a/spec/bundler/install/yanked_spec.rb b/spec/bundler/install/yanked_spec.rb
index b53c15be69..3acae85afd 100644
--- a/spec/bundler/install/yanked_spec.rb
+++ b/spec/bundler/install/yanked_spec.rb
@@ -65,7 +65,7 @@ RSpec.context "when using gem before installing" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/install/yanked_spec.rb#L65
 
     bundle :list, :raise_on_error => false
 
-    expect(err).to include("Could not find rack-0.9.1 in any of the sources")
+    expect(err).to include("Could not find rack-0.9.1 in locally installed gems")
     expect(err).to_not include("Your bundle is locked to rack (0.9.1) from")
     expect(err).to_not include("If you haven't changed sources, that means the author of rack (0.9.1) has removed it.")
     expect(err).to_not include("You'll need to update your bundle to a different version of rack (0.9.1) that hasn't been removed in order to install.")
@@ -95,7 +95,7 @@ RSpec.context "when using gem before installing" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/install/yanked_spec.rb#L95
 
     bundle :list, :raise_on_error => false
 
-    expect(err).to include("Could not find rack-0.9.1, rack_middleware-1.0 in any of the sources")
+    expect(err).to include("Could not find rack-0.9.1, rack_middleware-1.0 in locally installed gems")
     expect(err).to include("Install missing gems with `bundle install`.")
     expect(err).to_not include("Your bundle is locked to rack (0.9.1) from")
     expect(err).to_not include("If you haven't changed sources, that means the author of rack (0.9.1) has removed it.")
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]