mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[rubygems/rubygems] Improve errors a bit more
https://github.com/rubygems/rubygems/commit/f481e8f41a
This commit is contained in:
parent
1537471871
commit
8d29d1292b
4 changed files with 30 additions and 10 deletions
|
@ -287,7 +287,12 @@ module Bundler
|
|||
end
|
||||
|
||||
message = String.new("Could not find gem '#{requirement_label}'#{extra_message} in #{source}#{cache_message}.\n")
|
||||
message << "The source contains the following gems matching '#{matching_part}': #{specs.map(&:full_name).join(", ")}" if specs.any?
|
||||
|
||||
if specs.any?
|
||||
message << "\nThe source contains the following gems matching '#{matching_part}':\n"
|
||||
message << specs.map {|s| " * #{s.full_name}" }.join("\n")
|
||||
end
|
||||
|
||||
message
|
||||
end
|
||||
|
||||
|
|
|
@ -867,7 +867,10 @@ RSpec.describe "bundle exec" do
|
|||
let(:expected) { "" }
|
||||
let(:expected_err) { <<-EOS.strip }
|
||||
Could not find gem 'rack (= 2)' in locally installed gems.
|
||||
The source contains the following gems matching 'rack': rack-0.9.1, rack-1.0.0
|
||||
|
||||
The source contains the following gems matching 'rack':
|
||||
* rack-0.9.1
|
||||
* rack-1.0.0
|
||||
Run `bundle install` to install missing gems.
|
||||
EOS
|
||||
|
||||
|
@ -894,7 +897,9 @@ Run `bundle install` to install missing gems.
|
|||
let(:expected) { "" }
|
||||
let(:expected_err) { <<-EOS.strip }
|
||||
Could not find gem 'rack (= 2)' in locally installed gems.
|
||||
The source contains the following gems matching 'rack': rack-1.0.0
|
||||
|
||||
The source contains the following gems matching 'rack':
|
||||
* rack-1.0.0
|
||||
Run `bundle install` to install missing gems.
|
||||
EOS
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ RSpec.describe "bundle install with git sources" do
|
|||
gem "foo", "1.1", :git => "#{lib_path("foo-1.0")}"
|
||||
G
|
||||
|
||||
expect(err).to include("The source contains the following gems matching 'foo': foo-1.0")
|
||||
expect(err).to include("The source contains the following gems matching 'foo':\n * foo-1.0")
|
||||
end
|
||||
|
||||
it "complains with version and platform if pinned specs don't exist in the git repo" do
|
||||
|
@ -106,7 +106,7 @@ RSpec.describe "bundle install with git sources" do
|
|||
end
|
||||
G
|
||||
|
||||
expect(err).to include("The source contains the following gems matching 'only_java': only_java-1.0-java")
|
||||
expect(err).to include("The source contains the following gems matching 'only_java':\n * only_java-1.0-java")
|
||||
end
|
||||
|
||||
it "complains with multiple versions and platforms if pinned specs don't exist in the git repo" do
|
||||
|
@ -128,7 +128,7 @@ RSpec.describe "bundle install with git sources" do
|
|||
end
|
||||
G
|
||||
|
||||
expect(err).to include("The source contains the following gems matching 'only_java': only_java-1.0-java, only_java-1.1-java")
|
||||
expect(err).to include("The source contains the following gems matching 'only_java':\n * only_java-1.0-java\n * only_java-1.1-java")
|
||||
end
|
||||
|
||||
it "still works after moving the application directory" do
|
||||
|
|
|
@ -298,8 +298,13 @@ RSpec.describe "bundle install with specific platforms" do
|
|||
bundle "install", :raise_on_error => false
|
||||
end
|
||||
|
||||
expect(err).to include("Could not find gem 'sorbet-static (= 0.5.6433) arm64-darwin-21' in rubygems repository #{file_uri_for(gem_repo2)}/ or installed locally.")
|
||||
expect(err).to include("The source contains the following gems matching 'sorbet-static (= 0.5.6433)': sorbet-static-0.5.6433-universal-darwin-20, sorbet-static-0.5.6433-x86_64-linux")
|
||||
expect(err).to include <<~ERROR.rstrip
|
||||
Could not find gem 'sorbet-static (= 0.5.6433) arm64-darwin-21' in rubygems repository #{file_uri_for(gem_repo2)}/ or installed locally.
|
||||
|
||||
The source contains the following gems matching 'sorbet-static (= 0.5.6433)':
|
||||
* sorbet-static-0.5.6433-universal-darwin-20
|
||||
* sorbet-static-0.5.6433-x86_64-linux
|
||||
ERROR
|
||||
end
|
||||
|
||||
it "does not resolve if the current platform does not match any of available platform specific variants for a transitive dependency" do
|
||||
|
@ -319,8 +324,13 @@ RSpec.describe "bundle install with specific platforms" do
|
|||
bundle "install", :raise_on_error => false
|
||||
end
|
||||
|
||||
expect(err).to include("Could not find gem 'sorbet-static (= 0.5.6433) arm64-darwin-21', which is required by gem 'sorbet (= 0.5.6433)', in rubygems repository #{file_uri_for(gem_repo2)}/ or installed locally.")
|
||||
expect(err).to include("The source contains the following gems matching 'sorbet-static (= 0.5.6433)': sorbet-static-0.5.6433-universal-darwin-20, sorbet-static-0.5.6433-x86_64-linux")
|
||||
expect(err).to include <<~ERROR.rstrip
|
||||
Could not find gem 'sorbet-static (= 0.5.6433) arm64-darwin-21', which is required by gem 'sorbet (= 0.5.6433)', in rubygems repository #{file_uri_for(gem_repo2)}/ or installed locally.
|
||||
|
||||
The source contains the following gems matching 'sorbet-static (= 0.5.6433)':
|
||||
* sorbet-static-0.5.6433-universal-darwin-20
|
||||
* sorbet-static-0.5.6433-x86_64-linux
|
||||
ERROR
|
||||
end
|
||||
|
||||
private
|
||||
|
|
Loading…
Add table
Reference in a new issue