gem install archive-tar-minitar is failing from version 0.6

Austin Ziegler's Avatar

Austin Ziegler

07 Feb, 2017 10:05 PM

I recently published updates to archive-tar-minitar such that it now depends on minitar and minitar-cli. I did the following:

  1. gem push minitar/pkg/minitar-0.6.gem
  2. gem push minitar/pkg/archive-tar-minitar-0.6.gem
  3. gem push minitar/pkg/minitar-cli-0.6.gem

Now, when I (or anyone else) installs archive-tar-minitar, the following is the result:

Fetching: minitar-0.6.gem (100%)
The `minitar` executable is no longer bundled with `minitar`. If you are
expecting this executable, make sure you also install `minitar-cli`.
Successfully installed minitar-0.6
ERROR:  Error installing archive-tar-minitar:
    archive-tar-minitar requires minitar-cli (~> 0.6)

I suspect that because I pushed archive-tar-minitar before minitar-cli, whatever indexing mechanism exists on RubyGems is failing (when minitar-cli is installed manually, the dependency is satisfied). I have a theory that this can be solved by pushing archive-tar-minitar 0.6.0.1 (that’s the same except for the version number). I don’t want to do that unless it actually works, or if there’s something the RG team can do to fix this.

  1. 1 Posted by Jordan Sissel on 07 Feb, 2017 11:35 PM

    Jordan Sissel's Avatar

    Here's something interesting. The rubygems.org dependencies API doesn't have the correct details:

    % ruby -ropen-uri -e 'deps = Marshal.load(open("https://rubygems.org/api/v1/dependencies?gems=archive-tar-minitar").read); p deps.select { |d| d[:number] == "0.6" }.first[:dependencies]'
    [["minitar", "~> 0.6"]]
    

    ^^ Only minitar listed in the API. But if I fetch the gem and look inside, it correctly includes 'mintar-cli'

    % gem fetch archive-tar-minitar
    ....
    % tar -xf archive-tar-minitar-0.6.gem -O metadata.gz | gzip -dc | sed -ne '/^dependencies/,/^description/p'
    dependencies:
    - !ruby/object:Gem::Dependency
      name: minitar
      requirement: !ruby/object:Gem::Requirement
        requirements:
        - - "~>"
          - !ruby/object:Gem::Version
            version: '0.6'
      type: :runtime
      prerelease: false
      version_requirements: !ruby/object:Gem::Requirement
        requirements:
        - - "~>"
          - !ruby/object:Gem::Version
            version: '0.6'
    - !ruby/object:Gem::Dependency
      name: minitar-cli
      requirement: !ruby/object:Gem::Requirement
        requirements:
        - - "~>"
          - !ruby/object:Gem::Version
            version: '0.6'
      type: :runtime
      prerelease: false
      version_requirements: !ruby/object:Gem::Requirement
        requirements:
        - - "~>"
          - !ruby/object:Gem::Version
            version: '0.6'
    description: |-
    
  2. 2 Posted by Austin Ziegler on 08 Feb, 2017 12:56 AM

    Austin Ziegler's Avatar

    This is fixed for archive-tar-minitar 0.6.1 because a matching minitar-cli was previously released.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac