igrigorik / em-websocket

EventMachine based WebSocket server
http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/
MIT License
1.69k stars 187 forks source link

Consider yanking v0.0.3 #144

Closed sandlerr closed 7 years ago

sandlerr commented 7 years ago

@igrigorik might you consider yanking v0.0.3? It seems because of the way rubygems works anyone depending on this gem is still asking rubygems about an ancient typo.

This appears harmless, but it was a red herring for me debugging a Gemfile that doesn't resolve. Also, I think it is unlikely that anyone is successfully using v0.0.3 due to this problem so it should be safe to remove.

With a slightly modified gemspec generated by bundle gem:

# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'gem/test/version'

Gem::Specification.new do |spec|
  spec.name          = "gem-test"
  spec.version       = '1'
  spec.authors       = ["RS"]
  spec.email         = ["r@zendesk.com"]

  spec.summary       = %q{Write a short summary, because Rubygems requires one.}
  spec.description   = %q{Write a longer description or delete this line.}
  spec.license       = "MIT"

  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
  # to allow pushing to a single host or delete this section to allow pushing to any host.

  spec.files         = `git ls-files -z`.split("\x0").reject do |f|
    f.match(%r{^(test|spec|features)/})
  end
  spec.bindir        = "exe"
  spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
  spec.require_paths = ["lib"]

  spec.add_development_dependency "bundler", "~> 1.14"
  spec.add_development_dependency "rake", "~> 10.0"
  spec.add_development_dependency "em-websocket"
end

bundling gives this output (truncated after the line of interest):

% DEBUG=true bundle
Running `bundle install` with bundler 1.14.3
Found changes from the lockfile, re-resolving dependencies because the list of sources changed, the dependencies in your gemfile changed, you added a new platform to your gemfile, the gemspecs for path gems changed
HTTP GET https://index.rubygems.org/versions
HTTP 206 Partial Content https://index.rubygems.org/versions
Fetching gem metadata from https://rubygems.org/
Looking up gems ["bundler", "rake", "em-websocket"]
HTTP GET https://index.rubygems.org/info/em-websocket
HTTP 304 Not Modified https://index.rubygems.org/info/em-websocket
Looking up gems ["eventmachine", "addresasble", "addressable", "http_parser.rb"]
...

Hopefully if this version of the gem is removed this will not happen any more.

Thanks!

igrigorik commented 7 years ago

It seems because of the way rubygems works anyone depending on this gem is still asking rubygems about an ancient typo.

Honestly, I'm still a bit puzzled.. Why is rubygems asking for 0.0.3? Sorry if I'm being slow.

sandlerr commented 7 years ago

This is a black box to me but it seems when you request a gem, rubygems downloads the dependencies of every version of that gem that ever existed to find the one that best satisfies the rest of your Gemfile (or gemspec).

igrigorik commented 7 years ago
> gem yank em-websocket -v 0.0.3
Yanking gem from https://rubygems.org...
Successfully deleted gem: em-websocket (0.0.3)
sandlerr commented 7 years ago

Thank you Ilya!

On Sun, 29 Jan 2017, 04:37 Ilya Grigorik notifications@github.com wrote:

Closed #144 https://github.com/igrigorik/em-websocket/issues/144.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/igrigorik/em-websocket/issues/144#event-940323911, or mute the thread https://github.com/notifications/unsubscribe-auth/AFR3iRu5XvxqpbJU2YwDf0UxoWV5Fmonks5rW3zJgaJpZM4LvdnC .