tag:help.rubygems.org,2010-01-19:/discussions/problems/25567-gem-install-archive-tar-minitar-is-failing-from-version-06RubyGems.org: Discussion 2018-10-18T19:51:31Ztag:help.rubygems.org,2010-01-19:Comment/419103502017-02-07T23:35:24Z2017-02-07T23:35:29Zgem install archive-tar-minitar is failing from version 0.6<div><p>Here's something interesting. The rubygems.org dependencies API
doesn't have the correct details:</p>
<pre>
<code>% 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"]]</code>
</pre>
<p>^^ Only minitar listed in the API. But if I fetch the gem and
look inside, it correctly includes 'mintar-cli'</p>
<pre>
<code>% 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: |-</code>
</pre></div>Jordan Sisseltag:help.rubygems.org,2010-01-19:Comment/419103502017-02-08T00:56:34Z2017-02-08T00:56:36Zgem install archive-tar-minitar is failing from version 0.6<div><p>This is fixed for archive-tar-minitar 0.6.1 because a matching
minitar-cli was previously released.</p></div>Austin Zieglertag:help.rubygems.org,2010-01-19:Comment/419103502017-02-26T06:31:37Z2017-02-26T06:31:37Zgem install archive-tar-minitar is failing from version 0.6<div><p>Hi,</p>
<blockquote>
<p>Only minitar listed in the API. But if I fetch the gem and look
inside, it correctly includes 'mintar-cli'</p>
</blockquote>
<p>I can see both <code>minitar-cli</code> and <code>minitar</code>
listed as dependencies of <code>archive-tar-minitar</code> 0.6
<a href="https://rubygems.org/api/v1/dependencies.json?gems=archive-tar-minitar">
https://rubygems.org/api/v1/dependencies.json?gems=archive-tar-minitar</a>.<br>
I was also able to successfully install <code>archive-tar-minitar
-v 0.6</code>. Looks like issue was resolved. I am sorry we
couldn't help sooner.</p></div>sonalkr132tag:help.rubygems.org,2010-01-19:Comment/419103502017-02-27T17:20:07Z2017-02-27T17:20:07Zgem install archive-tar-minitar is failing from version 0.6<div><p>Yes. What happened here is the way that I published this, and it
won’t<br>
happen again because now everything is published properly:</p>
<ol>
<li>archive-tar-minitar depends on minitar and
minitar-cli.<br></li>
<li>minitar-cli depends on minitar.<br></li>
<li>I published minitar (0.6).<br></li>
<li>I published archive-tar-minitar (0.6).<br></li>
<li>I published minitar-cli (0.6).</li>
</ol>
<p>Because minitar-cli was not available at the time of #4, the
publication<br>
occurred, but the JSON data no longer included the minitar-cli
dependency,<br>
even though it’s in the gem.</p>
<p>I had to track down some issues, so I needed to release
0.6.1:</p>
<ol>
<li>I published minitar (0.6.1).<br></li>
<li>I published archive-tar-minitar (0.6.1).<br></li>
<li>I published minitar-cli (0.6.1).</li>
</ol>
<p>At the time that #7 happened, minitar-cli (0.6) was available
and the<br>
dependency was satisfiable, so the JSON includes the minitar-cli
dependency<br>
correctly.</p>
<p>Ideally, the RubyGems API should have refused to publish<br>
archive-tar-minitar 0.6 without an explicit override because of the
missing<br>
dependency. Or, the dependency would have been kept in the JSON
even though<br>
it was missing from the RubyGems index (I’m less certain
about this one,<br>
because it would break other things too, I suspect).</p>
<p>This was purely about publication order, because minitar and<br>
archive-tar-minitar are in the same repo, but minitar-cli is in a
different<br>
repo.</p>
<p>-a</p></div>Austin Ziegler