[Rubygems-developers] [ rubygems-Bugs-26109 ] gem install gemname --remote will fail if gemname is in current directory

noreply at rubyforge.org noreply at rubyforge.org
Fri Dec 17 05:19:58 EST 2010


Bugs item #26109, was opened at 2009-06-02 15:03
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=575&aid=26109&group_id=126

Category: `gem install` command
Group: None
>Status: Open
Resolution: None
Priority: 3
Submitted By: ara howard (ahoward)
>Assigned to: John Barnette (jbarnette)
Summary: gem install gemname --remote will fail if gemname is in current directory

Initial Comment:
gem install gemname --remote  will prefer a gem in the current directory.  seems like --remote should *never* do *anything* local?

----------------------------------------------------------------------

>Comment By: Ryan Davis (zenspider)
Date: 2010-12-17 02:19

Message:
Thanks Asari. Seems valid to me. 

Assigning to JB and leaving this one open since it also talks about local cache and there might be extra edge cases here.

----------------------------------------------------------------------

Comment By: Hirotsugu Asari (asarih)
Date: 2010-12-16 22:35

Message:
Ryan,

Could this other ticket help your reproduce it?

http://rubyforge.org/tracker/index.php?func=detail&aid=28481&group_id=126&atid=575

Also, `gem install` appears to search the local cache before querying remote sources, so if foo-1.0.0.dev1.gem exists in cache, it will be chosen, even when foo-1.0.0.gem (with seemingly more recent version number) is available on a remote server.

----------------------------------------------------------------------

Comment By: Ryan Davis (zenspider)
Date: 2010-11-12 14:46

Message:
This ticket has been deemed stale and we're closing it in order to catch up 
with our ticket list. If you think it is still valid, please reopen.

----------------------------------------------------------------------

Comment By: Christof Spies (wingfire)
Date: 2010-08-19 23:52

Message:
gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/bin/ruby1.8
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/lib/ruby/gems/1.8
     - /root/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/



----------------------------------------------------------------------

Comment By: Christof Spies (wingfire)
Date: 2010-08-19 23:47

Message:
I can confirm this issue.
i.e. you have an outdated gem file in your home directory and run  "gem update" from home then gem reinstall the old gem from the home directory. "gem update -r" is also "updating" with the outdated local gem.

----------------------------------------------------------------------

Comment By: Nick Hildebrant (nihildeb)
Date: 2009-08-27 15:37

Message:
Just familiarizing myself with the code here. I now see the issue.

#find_gems_with_sources probably should only merge gem sources if @domain == :both

also I don't see a case in which setting @domain = :local after rescuing a RemoteFetch exception would be useful or make sense

----------------------------------------------------------------------

Comment By: Nick Hildebrant (nihildeb)
Date: 2009-08-26 13:54

Message:
I can not reproduce this issue as a "preference". 

Rubygems appears to do remote as requested with requested gem in pwd.

In the case of no network availability, the requested gem in the pwd is installed. This is as designed: Gem::DependencyInstaller#find_gems_with_sources rescues with @domain = :local

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.3
  - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/lib/ruby/gems/1.8
     - /home/nihildeb/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://gems.rubyforge.org", "http://gems.github.com"]
  - REMOTE SOURCES:
     - http://gems.rubyforge.org
     - http://gems.github.com






----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=575&aid=26109&group_id=126


More information about the Rubygems-developers mailing list