I have a gem published here: https://rubygems.org/gems/rangy-rails/

When I first released it in March 2013 I later realized that I had set an incorrect version.

I immediately yanked the gem and resubmitted it with the correct version. Unfortunately RubyGems does not remove the yanked gem and this is causing two problems:

  1. The version list is not ordered correctly (yanked gem is on top): https://rubygems.org/gems/rangy-rails/versions

  2. My gem's main page on RubyGems: https://rubygems.org/gems/rangy-rails/ is using a description about the gem being yanked instead of the gemspec's description.

How can I fix this?

So far my only option seems to be contacting RubyGems but they explicitly say the following:

Our policy is to only perma-delete gems that really need it, such as gems that may contain passwords, malicious/harmful code, etc. Yanking a gem effectively removes it from being found and will do the trick in 99% percent of situations.

(source: http://help.rubygems.org/kb/gemcutter/removing-a-published-rubygem)

有帮助吗?

解决方案

Problem 2 is solvable. The description is taken from the latest non-prerelease version of the gem (not including yanked versions). (See more info about prerelease gem versions here.) Right now, your gem has 3 versions, and the two non-yanked ones are both prerelease (they have letters in the gem version). If you push a new version of the gem, even if it's 0.0.1 or something, that's a "release" version, and it will be used for the description instead.

I made a little test gem here to demonstrate what I'm talking about -- notice that the description page is taken from the latest non-prerelease version (0.0.1, in my case.)

There is no self-serve way to "solve" problem 1 -- Rubygems.org will always display your gem versions in semantic versioning order, from highest to lowest. I'm not sure why this is a big issue, though -- most people typically won't look at the versions page. Yanking will mask the bad version in most situations and, as the documentation says, will probably "do the trick" in this case.

If you really want to permanently hide the traces of the yanked gem and remove it from the versions list completely, you'll need to contact the Rubygems staff and see if they're willing to help out.

其他提示

You need to publish new version, that is more than yanked. I.e., if yanked version is 1.3.0.772, you need to publish 1.3.0.780 (for example)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top