rubygems / bundler

Manage your Ruby application's gem dependencies
https://bundler.io
MIT License
4.88k stars 1.99k forks source link

Failure to upgrade gem if a yanked gem is required by an unrelated gem in Gemfile #3265

Closed pnomolos closed 9 years ago

pnomolos commented 10 years ago

As far as I can tell, that's what is happening here. Here's the output of bundle update -V

Updating git://github.com/hyperoslo/capistrano-foreman.git
Updating https://github.com/bryanrite/carrierwave-sequel
Updating https://github.com/pnomolos/bamfcsv
HTTP GET https://bundler.rubygems.org/api/v1/dependencies
HTTP 200 OK
Fetching gem metadata from https://rubygems.org/
Query List: ["bundler", "rake", "oj", "unicorn", "flowdock", "grit", "clockwork", "capistrano", "cape", "foreman", "sinatra", "pg", "sinatra-sequel", "sequel", "upsert", "activesupport", "sentry-raven", "carrierwave", "fog", "rest-client", "resque", "resque-batched-job", "redis-lock", "uuidtools", "rubyzip", "zippy", "rabl", "mail", "mime-types", "padrino-core", "padrino-mailer", "padrino-helpers", "php-serialize", "nokogiri", "bill-parser", "carrier-scraper", "tux", "ruby-prof", "pry", "pry-byebug", "fixture_dependencies", "rspec", "webmock", "vcr", "fuubar", "rake-compiler", "sqlite3", "capistrano-bundler"]
Query Gemcutter Dependency Endpoint API: bundler,rake,oj,unicorn,flowdock,grit,clockwork,capistrano,cape,foreman,sinatra,pg,sinatra-sequel,sequel,upsert,activesupport,sentry-raven,carrierwave,fog,rest-client,resque,resque-batched-job,redis-lock,uuidtools,rubyzip,zippy,rabl,mail,mime-types,padrino-core,padrino-mailer,padrino-helpers,php-serialize,nokogiri,bill-parser,carrier-scraper,tux,ruby-prof,pry,pry-byebug,fixture_dependencies,rspec,webmock,vcr,fuubar,rake-compiler,sqlite3,capistrano-bundler
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=bundler,rake,oj,unicorn,flowdock,grit,clockwork,capistrano,cape,foreman,sinatra,pg,sinatra-sequel,sequel,upsert,activesupport,sentry-raven,carrierwave,fog,rest-client,resque,resque-batched-job,redis-lock,uuidtools,rubyzip,zippy,rabl,mail,mime-types,padrino-core,padrino-mailer,padrino-helpers,php-serialize,nokogiri,bill-parser,carrier-scraper,tux,ruby-prof,pry,pry-byebug,fixture_dependencies,rspec,webmock,vcr,fuubar,rake-compiler,sqlite3,capistrano-bundler
HTTP 200 OK
Query List: ["ruby-progressbar", "chalofa_ruby-progressbar", "rspec-instafail", "progressbar", "ripl", "ripl-rack", "ripl-multi_line", "redis", "archive-tar-minitar", "rcov", "hoe", "multi_json", "httparty", "win32console", "method_source", "slop", "coderay", "spoon", "ruby_parser", "yard", "tzinfo", "ffi", "tlsmail", "treetop", "i18n", "rack", "tilt", "mongrel", "shotgun", "rack-test", "rack-protection", "backports", "rspec-mocks", "rspec-expectations", "rspec-core", "cucumber", "diff-lcs", "syntax", "spicycode-rcov", "kgio", "raindrops", "padrino-support", "dotenv", "thor", "term-ansicolor", "posix-spawn", "json", "crack", "addressable", "tmail", "launchy", "redis-namespace", "vegas", "json_pure", "mono_logger", "http_router", "usher", "rdoc", "netrc", "mini_portile", "racc", "tenderlove-frex", "rexical", "weakling", "bacon", "highline", "net-ssh", "net-sftp", "net-scp", "net-ssh-gateway", "echoe", "sshkit", "fakeweb", "opennebula", "fog-terremark", "fog-vmfusion", "fog-voxel", "fog-profitbricks", "fog-radosgw", "fog-sakuracloud", "fog-softlayer", "fog-brightbox", "ipaddress", "fog-xml", "fog-json", "fog-core", "builder", "excon", "formatador", "ruby-hmac", "named-parameters", "google-api-client", "unicode", "thread_safe", "minitest", "memcache-client", "activemodel", "metaid", "ParseTree", "ruby2ruby", "sequel_core", "sequel_model", "assistance", "RubyInline", "faraday", "yajl-ruby", "hashie", "byebug"]
Query Gemcutter Dependency Endpoint API: ruby-progressbar,chalofa_ruby-progressbar,rspec-instafail,progressbar,ripl,ripl-rack,ripl-multi_line,redis,archive-tar-minitar,rcov,hoe,multi_json,httparty,win32console,method_source,slop,coderay,spoon,ruby_parser,yard,tzinfo,ffi,tlsmail,treetop,i18n,rack,tilt,mongrel,shotgun,rack-test,rack-protection,backports,rspec-mocks,rspec-expectations,rspec-core,cucumber,diff-lcs,syntax,spicycode-rcov,kgio,raindrops,padrino-support,dotenv,thor,term-ansicolor,posix-spawn,json,crack,addressable,tmail,launchy,redis-namespace,vegas,json_pure,mono_logger,http_router,usher,rdoc,netrc,mini_portile,racc,tenderlove-frex,rexical,weakling,bacon,highline,net-ssh,net-sftp,net-scp,net-ssh-gateway,echoe,sshkit,fakeweb,opennebula,fog-terremark,fog-vmfusion,fog-voxel,fog-profitbricks,fog-radosgw,fog-sakuracloud,fog-softlayer,fog-brightbox,ipaddress,fog-xml,fog-json,fog-core,builder,excon,formatador,ruby-hmac,named-parameters,google-api-client,unicode,thread_safe,minitest,memcache-client,activemodel,metaid,ParseTree,ruby2ruby,sequel_core,sequel_model,assistance,RubyInline,faraday,yajl-ruby,hashie,byebug
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=ruby-progressbar,chalofa_ruby-progressbar,rspec-instafail,progressbar,ripl,ripl-rack,ripl-multi_line,redis,archive-tar-minitar,rcov,hoe,multi_json,httparty,win32console,method_source,slop,coderay,spoon,ruby_parser,yard,tzinfo,ffi,tlsmail,treetop,i18n,rack,tilt,mongrel,shotgun,rack-test,rack-protection,backports,rspec-mocks,rspec-expectations,rspec-core,cucumber,diff-lcs,syntax,spicycode-rcov,kgio,raindrops,padrino-support,dotenv,thor,term-ansicolor,posix-spawn,json,crack,addressable,tmail,launchy,redis-namespace,vegas,json_pure,mono_logger,http_router,usher,rdoc,netrc,mini_portile,racc,tenderlove-frex,rexical,weakling,bacon,highline,net-ssh,net-sftp,net-scp,net-ssh-gateway,echoe,sshkit,fakeweb,opennebula,fog-terremark,fog-vmfusion,fog-voxel,fog-profitbricks,fog-radosgw,fog-sakuracloud,fog-softlayer,fog-brightbox,ipaddress,fog-xml,fog-json,fog-core,builder,excon,formatador,ruby-hmac,named-parameters,google-api-client,unicode,thread_safe,minitest,memcache-client,activemodel,metaid,ParseTree,ruby2ruby,sequel_core,sequel_model,assistance,RubyInline,faraday,yajl-ruby,hashie,byebug
HTTP 200 OK
Query List: ["sexp_processor", "SexpProcessor", "ZenTest", "bond", "termios", "multi_xml", "jnunemaker-crack", "mocha", "newgem", "signet", "httpadapter", "extlib", "liquid", "autoparse", "jwt", "retriable", "rspec-support", "multipart-post", "daemons", "fastthread", "gem_plugin", "cgi_multipart_eof_fix", "safe_yaml", "multi_test", "gherkin", "cucumber-core", "polyglot", "configuration", "tins", "test-spec", "camping", "fcgi", "ruby-openid", "thin", "spruz", "erubis", "rubyforge", "gemcutter", "allison", "facets", "escape_utils", "fuzzyhash", "bones", "needle", "jruby-pageant", "bcrypt-ruby", "url_mount", "validatable", "atomic", "rbvmomi", "dotenv-deployment", "colorize", "debugger-linecache", "columnize", "pry-debugger", "inflecto", "fission"]
Query Gemcutter Dependency Endpoint API: sexp_processor,SexpProcessor,ZenTest,bond,termios,multi_xml,jnunemaker-crack,mocha,newgem,signet,httpadapter,extlib,liquid,autoparse,jwt,retriable,rspec-support,multipart-post,daemons,fastthread,gem_plugin,cgi_multipart_eof_fix,safe_yaml,multi_test,gherkin,cucumber-core,polyglot,configuration,tins,test-spec,camping,fcgi,ruby-openid,thin,spruz,erubis,rubyforge,gemcutter,allison,facets,escape_utils,fuzzyhash,bones,needle,jruby-pageant,bcrypt-ruby,url_mount,validatable,atomic,rbvmomi,dotenv-deployment,colorize,debugger-linecache,columnize,pry-debugger,inflecto,fission
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=sexp_processor,SexpProcessor,ZenTest,bond,termios,multi_xml,jnunemaker-crack,mocha,newgem,signet,httpadapter,extlib,liquid,autoparse,jwt,retriable,rspec-support,multipart-post,daemons,fastthread,gem_plugin,cgi_multipart_eof_fix,safe_yaml,multi_test,gherkin,cucumber-core,polyglot,configuration,tins,test-spec,camping,fcgi,ruby-openid,thin,spruz,erubis,rubyforge,gemcutter,allison,facets,escape_utils,fuzzyhash,bones,needle,jruby-pageant,bcrypt-ruby,url_mount,validatable,atomic,rbvmomi,dotenv-deployment,colorize,debugger-linecache,columnize,pry-debugger,inflecto,fission
HTTP 200 OK
Query List: ["CFPropertyList", "trollop", "cdb-full", "tokyocabinet", "metaclass", "english", "RedCloth", "rubigen", "bcrypt", "ruby-yadis", "flexmock", "abstract", "activerecord", "markaby", "mab", "eventmachine", "eventmachine-le", "http_parser.rb", "preforker", "little-plugger", "loquacious", "bones-git", "bones-extras", "debugger-ruby_core_source", "ruby_core_source", "debugger", "psych"]
Query Gemcutter Dependency Endpoint API: CFPropertyList,trollop,cdb-full,tokyocabinet,metaclass,english,RedCloth,rubigen,bcrypt,ruby-yadis,flexmock,abstract,activerecord,markaby,mab,eventmachine,eventmachine-le,http_parser.rb,preforker,little-plugger,loquacious,bones-git,bones-extras,debugger-ruby_core_source,ruby_core_source,debugger,psych
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=CFPropertyList,trollop,cdb-full,tokyocabinet,metaclass,english,RedCloth,rubigen,bcrypt,ruby-yadis,flexmock,abstract,activerecord,markaby,mab,eventmachine,eventmachine-le,http_parser.rb,preforker,little-plugger,loquacious,bones-git,bones-extras,debugger-ruby_core_source,ruby_core_source,debugger,psych
HTTP 200 OK
Query List: ["git", "libxml-ruby", "thoughtbot-shoulda", "language", "bones-rcov", "bones-rubyforge", "bones-rspec", "bones-zentest", "arel", "activerecord-deprecated_finders"]
Query Gemcutter Dependency Endpoint API: git,libxml-ruby,thoughtbot-shoulda,language,bones-rcov,bones-rubyforge,bones-rspec,bones-zentest,arel,activerecord-deprecated_finders
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=git,libxml-ruby,thoughtbot-shoulda,language,bones-rcov,bones-rubyforge,bones-rspec,bones-zentest,arel,activerecord-deprecated_finders
HTTP 200 OK
Query List: []
Fetching additional metadata from https://rubygems.org/
Query List: ["chalofa_ruby-progressbar"]
Query Gemcutter Dependency Endpoint API: chalofa_ruby-progressbar
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=chalofa_ruby-progressbar
HTTP 200 OK
Query List: []
HTTP GET https://privategemserver/api/v1/dependencies
HTTP 200 OK
HTTP GET https://bundler.rubygems.org/api/v1/dependencies
HTTP 200 OK
Fetching gem metadata from https://fd937aa9b1989f4d2fdf33aa86a92e98.simplexmobility.com/
Query List: ["chalofa_ruby-progressbar"]
Query Gemcutter Dependency Endpoint API: chalofa_ruby-progressbar
HTTP GET https://privategemserver/api/v1/dependencies?gems=chalofa_ruby-progressbar
HTTP 200 OK
Query List: []
Fetching gem metadata from https://rubygems.org/
Query List: ["chalofa_ruby-progressbar"]
Query Gemcutter Dependency Endpoint API: chalofa_ruby-progressbar
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=chalofa_ruby-progressbar
HTTP 200 OK
Query List: []
Resolving dependencies...
Could not find gem 'carrier-scraper (~> 0.19.3) ruby' in the gems available on this machine.

It appears that because chalofa_ruby-progressbar has been yanked, bundler goes on a chase down the rabbit-hole trying to find it, then gives up.

Note that bundle update -V carrier-scraper also produces a similar result.

pnomolos commented 10 years ago

Followup, it looks like this is even further down the rabbit hole. bamfcsv has fuubar ~> 0.0.2 as a development dependency in its Gemfile, and that in turn requires chalofa_ruby-progressbar

pnomolos commented 10 years ago

Another followup: I updated bamfcsv to ensure it no longer depends on chalofa_ruby-progressbar and it's still showing up when I try to do a bundle update. chalofa_ruby-progressbar doesn't show up in the Gemfile.lock anywhere, so I have no clue where it's coming from :(

indirect commented 10 years ago

Yanked gems are currently a weak spot for Bundler, unfortunately. Given your output, however, the problem is not chalofa_ruby-progressbar. The problem is carrier-scraper. There is no gem with that name: http://rubygems.org/gems/carrier-scraper.

pnomolos commented 10 years ago

@indirect carrier-scraper is a gem from a private gemserver. Sorry, I should have been clearer about that.

pnomolos commented 10 years ago

Also, here's the output of bundle viz:

gem_graph

I have no idea where chalofa_ruby-progressbar is from, outside of that it used to be required by bamfcsv. Is there a cache somewhere that could be causing these issues?

indirect commented 10 years ago

Have you read the error message? Bundler can't find a copy of the gem carrier-scraper. Your error has nothing whatsoever to do with chalofa_ruby-progressbar.

pnomolos commented 10 years ago

@indirect Bundler can't find a copy of carrier-scraper at version (~> 0.19.3). I've got carrier-scraper 0.19.1 installed fine, via the private gemserver. To reproduce I did the following:

Here's the output of bundle update -V carrier-scraper

HTTP GET https://bundler.rubygems.org/api/v1/dependencies
HTTP 200 OK
Fetching gem metadata from https://rubygems.org/
Query List: ["bundler", "rake", "oj", "unicorn", "flowdock", "grit", "clockwork", "capistrano", "cape", "foreman", "capistrano-foreman", "sinatra", "pg", "sinatra-sequel", "sequel", "upsert", "activesupport", "sentry-raven", "carrierwave", "fog", "rest-client", "resque", "resque-batched-job", "redis-lock", "uuidtools", "rubyzip", "zippy", "rabl", "mail", "mime-types", "padrino-core", "padrino-mailer", "padrino-helpers", "php-serialize", "nokogiri", "bill-parser", "carrier-scraper", "tux", "ruby-prof", "pry", "pry-byebug", "fixture_dependencies", "rspec", "webmock", "vcr", "fuubar", "rake-compiler", "sqlite3"]
Query Gemcutter Dependency Endpoint API: bundler,rake,oj,unicorn,flowdock,grit,clockwork,capistrano,cape,foreman,capistrano-foreman,sinatra,pg,sinatra-sequel,sequel,upsert,activesupport,sentry-raven,carrierwave,fog,rest-client,resque,resque-batched-job,redis-lock,uuidtools,rubyzip,zippy,rabl,mail,mime-types,padrino-core,padrino-mailer,padrino-helpers,php-serialize,nokogiri,bill-parser,carrier-scraper,tux,ruby-prof,pry,pry-byebug,fixture_dependencies,rspec,webmock,vcr,fuubar,rake-compiler,sqlite3
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=bundler,rake,oj,unicorn,flowdock,grit,clockwork,capistrano,cape,foreman,capistrano-foreman,sinatra,pg,sinatra-sequel,sequel,upsert,activesupport,sentry-raven,carrierwave,fog,rest-client,resque,resque-batched-job,redis-lock,uuidtools,rubyzip,zippy,rabl,mail,mime-types,padrino-core,padrino-mailer,padrino-helpers,php-serialize,nokogiri,bill-parser,carrier-scraper,tux,ruby-prof,pry,pry-byebug,fixture_dependencies,rspec,webmock,vcr,fuubar,rake-compiler,sqlite3
HTTP 200 OK
Query List: ["ruby-progressbar", "chalofa_ruby-progressbar", "rspec-instafail", "progressbar", "ripl", "ripl-rack", "ripl-multi_line", "redis", "archive-tar-minitar", "rcov", "hoe", "multi_json", "httparty", "win32console", "method_source", "slop", "coderay", "spoon", "ruby_parser", "yard", "tzinfo", "ffi", "tlsmail", "treetop", "i18n", "rack", "tilt", "mongrel", "shotgun", "rack-test", "rack-protection", "backports", "rspec-mocks", "rspec-expectations", "rspec-core", "cucumber", "diff-lcs", "syntax", "spicycode-rcov", "kgio", "raindrops", "padrino-support", "dotenv", "thor", "term-ansicolor", "posix-spawn", "json", "crack", "addressable", "tmail", "launchy", "redis-namespace", "vegas", "json_pure", "mono_logger", "http_router", "usher", "rdoc", "netrc", "mini_portile", "racc", "tenderlove-frex", "rexical", "weakling", "bacon", "highline", "net-ssh", "net-sftp", "net-scp", "net-ssh-gateway", "echoe", "sshkit", "fakeweb", "opennebula", "fog-terremark", "fog-vmfusion", "fog-voxel", "fog-profitbricks", "fog-radosgw", "fog-sakuracloud", "fog-softlayer", "fog-brightbox", "ipaddress", "fog-xml", "fog-json", "fog-core", "builder", "excon", "formatador", "ruby-hmac", "named-parameters", "google-api-client", "unicode", "thread_safe", "minitest", "memcache-client", "activemodel", "metaid", "ParseTree", "ruby2ruby", "sequel_core", "sequel_model", "assistance", "RubyInline", "faraday", "yajl-ruby", "hashie", "capistrano-bundler", "byebug"]
Query Gemcutter Dependency Endpoint API: ruby-progressbar,chalofa_ruby-progressbar,rspec-instafail,progressbar,ripl,ripl-rack,ripl-multi_line,redis,archive-tar-minitar,rcov,hoe,multi_json,httparty,win32console,method_source,slop,coderay,spoon,ruby_parser,yard,tzinfo,ffi,tlsmail,treetop,i18n,rack,tilt,mongrel,shotgun,rack-test,rack-protection,backports,rspec-mocks,rspec-expectations,rspec-core,cucumber,diff-lcs,syntax,spicycode-rcov,kgio,raindrops,padrino-support,dotenv,thor,term-ansicolor,posix-spawn,json,crack,addressable,tmail,launchy,redis-namespace,vegas,json_pure,mono_logger,http_router,usher,rdoc,netrc,mini_portile,racc,tenderlove-frex,rexical,weakling,bacon,highline,net-ssh,net-sftp,net-scp,net-ssh-gateway,echoe,sshkit,fakeweb,opennebula,fog-terremark,fog-vmfusion,fog-voxel,fog-profitbricks,fog-radosgw,fog-sakuracloud,fog-softlayer,fog-brightbox,ipaddress,fog-xml,fog-json,fog-core,builder,excon,formatador,ruby-hmac,named-parameters,google-api-client,unicode,thread_safe,minitest,memcache-client,activemodel,metaid,ParseTree,ruby2ruby,sequel_core,sequel_model,assistance,RubyInline,faraday,yajl-ruby,hashie,capistrano-bundler,byebug
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=ruby-progressbar,chalofa_ruby-progressbar,rspec-instafail,progressbar,ripl,ripl-rack,ripl-multi_line,redis,archive-tar-minitar,rcov,hoe,multi_json,httparty,win32console,method_source,slop,coderay,spoon,ruby_parser,yard,tzinfo,ffi,tlsmail,treetop,i18n,rack,tilt,mongrel,shotgun,rack-test,rack-protection,backports,rspec-mocks,rspec-expectations,rspec-core,cucumber,diff-lcs,syntax,spicycode-rcov,kgio,raindrops,padrino-support,dotenv,thor,term-ansicolor,posix-spawn,json,crack,addressable,tmail,launchy,redis-namespace,vegas,json_pure,mono_logger,http_router,usher,rdoc,netrc,mini_portile,racc,tenderlove-frex,rexical,weakling,bacon,highline,net-ssh,net-sftp,net-scp,net-ssh-gateway,echoe,sshkit,fakeweb,opennebula,fog-terremark,fog-vmfusion,fog-voxel,fog-profitbricks,fog-radosgw,fog-sakuracloud,fog-softlayer,fog-brightbox,ipaddress,fog-xml,fog-json,fog-core,builder,excon,formatador,ruby-hmac,named-parameters,google-api-client,unicode,thread_safe,minitest,memcache-client,activemodel,metaid,ParseTree,ruby2ruby,sequel_core,sequel_model,assistance,RubyInline,faraday,yajl-ruby,hashie,capistrano-bundler,byebug
HTTP 200 OK
Query List: ["sexp_processor", "SexpProcessor", "ZenTest", "bond", "termios", "multi_xml", "jnunemaker-crack", "mocha", "newgem", "signet", "httpadapter", "extlib", "liquid", "autoparse", "jwt", "retriable", "rspec-support", "multipart-post", "daemons", "fastthread", "gem_plugin", "cgi_multipart_eof_fix", "safe_yaml", "multi_test", "gherkin", "cucumber-core", "polyglot", "configuration", "tins", "test-spec", "camping", "fcgi", "ruby-openid", "thin", "spruz", "erubis", "rubyforge", "gemcutter", "allison", "facets", "escape_utils", "fuzzyhash", "bones", "needle", "jruby-pageant", "bcrypt-ruby", "url_mount", "validatable", "atomic", "rbvmomi", "dotenv-deployment", "colorize", "debugger-linecache", "columnize", "pry-debugger", "inflecto", "fission"]
Query Gemcutter Dependency Endpoint API: sexp_processor,SexpProcessor,ZenTest,bond,termios,multi_xml,jnunemaker-crack,mocha,newgem,signet,httpadapter,extlib,liquid,autoparse,jwt,retriable,rspec-support,multipart-post,daemons,fastthread,gem_plugin,cgi_multipart_eof_fix,safe_yaml,multi_test,gherkin,cucumber-core,polyglot,configuration,tins,test-spec,camping,fcgi,ruby-openid,thin,spruz,erubis,rubyforge,gemcutter,allison,facets,escape_utils,fuzzyhash,bones,needle,jruby-pageant,bcrypt-ruby,url_mount,validatable,atomic,rbvmomi,dotenv-deployment,colorize,debugger-linecache,columnize,pry-debugger,inflecto,fission
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=sexp_processor,SexpProcessor,ZenTest,bond,termios,multi_xml,jnunemaker-crack,mocha,newgem,signet,httpadapter,extlib,liquid,autoparse,jwt,retriable,rspec-support,multipart-post,daemons,fastthread,gem_plugin,cgi_multipart_eof_fix,safe_yaml,multi_test,gherkin,cucumber-core,polyglot,configuration,tins,test-spec,camping,fcgi,ruby-openid,thin,spruz,erubis,rubyforge,gemcutter,allison,facets,escape_utils,fuzzyhash,bones,needle,jruby-pageant,bcrypt-ruby,url_mount,validatable,atomic,rbvmomi,dotenv-deployment,colorize,debugger-linecache,columnize,pry-debugger,inflecto,fission
HTTP 200 OK
Query List: ["CFPropertyList", "trollop", "cdb-full", "tokyocabinet", "metaclass", "english", "RedCloth", "rubigen", "bcrypt", "ruby-yadis", "flexmock", "abstract", "activerecord", "markaby", "mab", "eventmachine", "eventmachine-le", "http_parser.rb", "preforker", "little-plugger", "loquacious", "bones-git", "bones-extras", "debugger-ruby_core_source", "ruby_core_source", "debugger", "psych"]
Query Gemcutter Dependency Endpoint API: CFPropertyList,trollop,cdb-full,tokyocabinet,metaclass,english,RedCloth,rubigen,bcrypt,ruby-yadis,flexmock,abstract,activerecord,markaby,mab,eventmachine,eventmachine-le,http_parser.rb,preforker,little-plugger,loquacious,bones-git,bones-extras,debugger-ruby_core_source,ruby_core_source,debugger,psych
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=CFPropertyList,trollop,cdb-full,tokyocabinet,metaclass,english,RedCloth,rubigen,bcrypt,ruby-yadis,flexmock,abstract,activerecord,markaby,mab,eventmachine,eventmachine-le,http_parser.rb,preforker,little-plugger,loquacious,bones-git,bones-extras,debugger-ruby_core_source,ruby_core_source,debugger,psych
HTTP 200 OK
Query List: ["git", "libxml-ruby", "thoughtbot-shoulda", "language", "bones-rcov", "bones-rubyforge", "bones-rspec", "bones-zentest", "arel", "activerecord-deprecated_finders"]
Query Gemcutter Dependency Endpoint API: git,libxml-ruby,thoughtbot-shoulda,language,bones-rcov,bones-rubyforge,bones-rspec,bones-zentest,arel,activerecord-deprecated_finders
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=git,libxml-ruby,thoughtbot-shoulda,language,bones-rcov,bones-rubyforge,bones-rspec,bones-zentest,arel,activerecord-deprecated_finders
HTTP 200 OK
Query List: []
Fetching additional metadata from https://rubygems.org/
Query List: ["chalofa_ruby-progressbar"]
Query Gemcutter Dependency Endpoint API: chalofa_ruby-progressbar
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=chalofa_ruby-progressbar
HTTP 200 OK
Query List: []
HTTP GET https://bundler.rubygems.org/api/v1/dependencies
HTTP 200 OK
HTTP GET https://privategemserver/api/v1/dependencies
HTTP 200 OK
Fetching gem metadata from https://rubygems.org/
Query List: ["chalofa_ruby-progressbar"]
Query Gemcutter Dependency Endpoint API: chalofa_ruby-progressbar
HTTP GET https://bundler.rubygems.org/api/v1/dependencies?gems=chalofa_ruby-progressbar
HTTP 200 OK
Query List: []
Fetching gem metadata from https://fd937aa9b1989f4d2fdf33aa86a92e98.simplexmobility.com/
Query List: ["chalofa_ruby-progressbar"]
Query Gemcutter Dependency Endpoint API: chalofa_ruby-progressbar
HTTP GET https://privategemserver/api/v1/dependencies?gems=chalofa_ruby-progressbar
HTTP 200 OK
Query List: []
Resolving dependencies...
Could not find gem 'carrier-scraper (= 0.19.3) ruby' in the gems available on this machine.

This isn't an issue with the carrier-scraper gem not being found. I ran bundle update carrier-scraper for a different project that has the same private gemserver set up and everything worked fine (including updated it to v0.19.3)

indirect commented 10 years ago

The verbose output that you think "proves" the problem doesn't actually mean there is a problem. Whatever the problem actually is, it's impossible for me to reproduce because it only happens with your private gem server. I don't think I can help you with this.

pnomolos commented 10 years ago

@indirect OK, thanks - can you give me any clue why chalofa_ruby-progressbar is being picked up by bundler even though (as far as I can tell) it's not required anywhere along the dependency chain? I'll leave you alone after that and see if I can figure out what's going on.

indirect commented 10 years ago

Bundler tries to download information about every version of every gem. That means it will try to download information about every dependency of every version of every gem listed in your Gemfile. One of the versions of one of the gems depends on chalofa_ruby-progressbar, even though it's not a version you are currently using.

If the gem server doesn't have information about the gem, Bundler simply will not use it while trying to resolve the Gemfile. It is not only not a problem, it is completely irrelevant. The actual error message (which is about carrier-scraper) is the problem.

pnomolos commented 10 years ago

@indirect Whatever the problem is, it stops exhibiting itself if line 213 of fetcher.rb is changed from query_list = gem_names - full_dependency_list to query_list = gem_names - full_dependency_list - ['chalofa_ruby-progressbar']. I think that somehow because bundler is unable to find that gem from the private gemserver it gives up and stops using it as a source. I will see if I can create a test case, but if not I'll chalk it up to some randomness that exhibits itself only with my exact combination of gems and hopefully it doesn't show up again :)

indirect commented 10 years ago

That's definitely not what's supposed to happen, but maybe it's happening anyway. Since you can't provide us with a way to reproduce the problem, I guess we'll never know.

On Mon, Nov 24, 2014 at 9:26 AM, pnomolos notifications@github.com wrote:

@indirect Whatever the problem is, it stops exhibiting itself if line 213 of fetcher.rb is changed from

query_list = gem_names - full_dependency_list to query_list = gem_names - full_dependency_list - ['chalofa_ruby-progressbar']. I think that somehow because bundler is unable to find that gem from the private gemserver it gives up and stops using it as a source. I will see if I can create a test case, but if not I'll chalk it up to some randomness that exhibits itself only with my exact combination of gems and hopefully it doesn't show up again :)

Reply to this email directly or view it on GitHub: https://github.com/bundler/bundler/issues/3265#issuecomment-64229917

pnomolos commented 10 years ago

@indirect It looks like this is now happening to some other members of my team so I'm going to try and put together a test case to solve what's going on.

pnomolos commented 10 years ago

@indirect I put together what I think is the smallest test case. It successfully fails for another team member, so hopefully this will help solve the issue. Gemfile and Gemfile.lock here: https://gist.github.com/pnomolos/2842609ab2f348fd8c85

Make sure that rake-10.2.2 doesn't exist in any local sources (or else it won't try to fetch it remotely).

The gemfury source is empty, but without it the test case doesn't fail.

Please let me know if this helps :)

indirect commented 10 years ago

Thanks for the reproduction!

pnomolos commented 10 years ago

@indirect Were you able to reproduce with that sample Gemfile and Gemfile.lock? It looks like I hit a really weird corner-case here.

indirect commented 9 years ago

@TimMoore this is a really, really weird issue with sources. Removing the source option on the mail gem makes the problem disappear, and removing the gemfury source makes the problem disappear. The gemfury source has no gems in it, so this is definitely an edge case around the sources stuff. I guess it's an issue with cross-source dependencies? Or something?

TimMoore commented 9 years ago

I'll give it a look.

indirect commented 9 years ago

Made a much smaller repro case here: https://gist.github.com/indirect/392b4ce1d2a8c085398c

Any gem with source set will break it, and that gem doesn't even have to be in the lock. So just rack and rake do it.

pnomolos commented 9 years ago

@indirect @TimMoore Just wondering if you guys had any luck figuring out what's causing this? Thanks! :)

TimMoore commented 9 years ago

Sorry, haven't looked into it yet.

On Tuesday, 27 January 2015, pnomolos notifications@github.com wrote:

@indirect https://github.com/indirect @TimMoore https://github.com/TimMoore Just wondering if you guys had any luck figuring out what's causing this? Thanks! :)

— Reply to this email directly or view it on GitHub https://github.com/bundler/bundler/issues/3265#issuecomment-71520345.

TimMoore commented 9 years ago

Finally getting to this... sorry that it's taken so long @pnomolos.

I think it's triggered by the use of rubygems.org as both a top-level source and attached to a specific gem. This Gemfile works fine, for example:

source 'https://XCKRzWDSo1r7Xk8SYrSp@gem.fury.io/pnomolos/'
#source 'https://rubygems.org'

gem 'rake', '10.2.2', source: 'https://rubygems.org/'
gem 'rack', source: 'https://rubygems.org/'

This is definitely an unintended bug, and I'll work on a fix, but it's also not the way the feature was really intended to be used. If you're using a source for specific gems, you shouldn't also put it a the top level. You can probably work around the bug by changing your Gemfile to have one top-level source, and use source blocks around any gems that are supposed to come from an alternate gem server.

pnomolos commented 9 years ago

@TimMoore I would have to see if I can replicate it, but right now in my gem file I am using source blocks for both the private gem server and for rubygems and that still triggers the error - should I try a source block for only the private gem server and leave rubygems at the top level?

TimMoore commented 9 years ago

@pnomolos do you have any gems outside of source blocks?

pnomolos commented 9 years ago

@TimMoore Nope, all of them are inside of the source blocks. The private gemserver source block comes first, if that would make any difference.

TimMoore commented 9 years ago

@indirect looks like you were right... this change seems to cause the problem: 1eb62f21d24e32029d5df1a279cecd957764f827

Commenting out s.specs.each { |spec| dependency_names.delete(spec.name) } fixes it for me.

TimMoore commented 9 years ago

@indirect I'm going to revert that change and disable the test introduced in that commit for now. I agree that it is probably causing a few of the recent issues. I'll add a test to reproduce this issue, too.

That means that it will go back to querying gem servers for path gems and gemspecs, which isn't ideal but AFAIK isn't too harmful either. We'll need to find another solution for that. Really, path gems (and git gems/gemspecs, which are both special cases of path gems) shouldn't ever go into the list of dependencies to query remotely in the first place, but right now the code doesn't distinguish between them internally.

/cc @dubek, @grosser

grosser commented 9 years ago

The original issue was no showstopper / just a bad implementation detail, so I think it's fine to revert as long as we come up with a solution that does what as described ("shouldn't ever go into the list of dependencies to query remotely in the first place")

On Fri, Feb 6, 2015 at 5:03 PM, Tim Moore notifications@github.com wrote:

@indirect https://github.com/indirect I'm going to revert that change and disable the test introduced in that commit for now. I agree that it is probably causing a few of the recent issues. I'll add a test to reproduce this issue, too.

That means that it will go back to querying gem servers for path gems and gemspecs, which isn't ideal but AFAIK isn't too harmful either. We'll need to find another solution for that. Really, path gems (and git gems/gemspecs, which are both special cases of path gems) shouldn't ever go into the list of dependencies to query remotely in the first place, but right now the code doesn't distinguish between them internally.

/cc @dubek https://github.com/dubek, @grosser https://github.com/grosser

— Reply to this email directly or view it on GitHub https://github.com/bundler/bundler/issues/3265#issuecomment-73341211.

TimMoore commented 9 years ago

Related: #3368

indirect commented 9 years ago

I just finished a fix for this, and a test to prevent a regression, while on the bus to the animal sanctuary... I'll push in a few hours. :)

On Sat, Feb 7, 2015 at 2:14 PM, Tim Moore notifications@github.com wrote:

Related: #3368

Reply to this email directly or view it on GitHub: https://github.com/bundler/bundler/issues/3265#issuecomment-73347391

TimMoore commented 9 years ago

Oh whoops!

TimMoore commented 9 years ago

This should be fixed in 1.7.13. Please try upgrading and let us know if you still have any problems.

pnomolos commented 9 years ago

@TimMoore yep it appears to be fixed. Thanks so much!

ccencho commented 8 years ago

Hello everyone I'm installing ubuntu 14.04 LTS bigbluebutton and I get the following error, agradecere your help:

Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.4.4 for inspection. Results logged to /var/lib/gems/1.9.1/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out Your Gemfile.lock is corrupt. The following gems are missing from the DEPENDENCIES section: 'archive-tar-minitar' 'hoe' 'rcov' dpkg: error processing package bbb-record-core (--configure): subprocess installed post-installation script returned error exit status 20 dpkg: dependency problems prevent configuration of bbb-playback-presentation: bbb-playback-presentation depends on bbb-record-core; however: Package bbb-record-core is not configured yet.

dpkg: error processing package bbb-playback-presentation (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of bbb-config: bbb-config depends on bbb-web; however: Package bbb-web is not configured yet. bbb-config depends on bbb-playback-presentation; however: Package bbb-playback-presentation is not configured yet.

dpkg: error processing package bbb-config (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of bigbluebutton: bigbluebutton depends on bbb-config; however: Package bbb-config is not configured yet.

dpkg: error processing package bigbluebutton (--configure): dependency problems - leaving unconfigured Processing triggers for libc-bin (2.19-0ubuntu6.7) ... Errors were encountered while processing: bbb-web bbb-record-core bbb-playback-presentation bbb-config bigbluebutton E: Sub-process /usr/bin/dpkg returned an error code (1)