[Rubygems-developers] [ rubygems-Bugs-25882 ] Handling of Windows paths broken in 1.3.3

noreply at rubyforge.org noreply at rubyforge.org
Tue May 12 08:20:29 EDT 2009


Bugs item #25882, was opened at 2009-05-12 05:01
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=575&aid=25882&group_id=126

Category: `gem install` command
Group: v1.3.x
Status: Open
Resolution: None
Priority: 3
Submitted By: Lars Christensen (larsch)
Assigned to: Nobody (None)
Summary: Handling of Windows paths broken in 1.3.3

Initial Comment:
Installing gems from local drives other than the current is broken on Windows. RubyGems strips the drive letter (through using the URI class for something which isn't an URI).

C:\> gem install p:\path\to\mygem-2.1.18.gem

ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory - /path/to/mygem-2.1.18.gem

Then I tried to pass a valid URI:

C:\> gem install file:///p:/path/to/mygem-2.1.18.gem

But that doesn't work either;

ERROR:  could not find gem file:///p:/path/to/mygem-2.1.18.gem locally or in a repository

I believe this is because URI#path returns "/p:/path/to/mygem..." (with leading slash), which is not a valid path on Windows.

Finally, I attempted to hack RubyGems to prefix file:/// itself, but I don't understand the reason for this line of code in remote_fetcher.rb:

        remote_gem_path = File.join(path, 'gems', gem_file_name)

That causes this error instead:

ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory - p:/path/to/gems/mygem-2.1.18.gem

Notice the extra /gems/ path.


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

>Comment By: Daniel Berger (djberg96)
Date: 2009-05-12 05:20

Message:
The use of file urls is meant for use with the --source flag (i.e. from a local repository), which is why the method includes the 'gems' directory.

However, the "gem install p:\path\to\mygem-2.1.18.gem" should work. I'll take a look.

Regards,

Dan

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

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


More information about the Rubygems-developers mailing list