Unable to install Rails through proxy

I am new to Rails and have been facing difficulty while installing rails. I have already installed Ruby and RubyGems on my machine by downloading the packages. But when I install Rails through RubyGems through a HTTP Proxy , I am thrown an error. Below is the details of the command and the exception i am getting :

Command Executed : C:\Documents and Settings\Users\Desktop>gem install rails -v 3.0.1 -p http://mydomain\\myUserID:MyPassword@MyProxy:Port

Error thrown :

ERROR: While executing gem ... (OptionParser::InvalidArgument)     invalid argument: -p http://myDomain\\MyUserID:MyPassword@MyProxy:80

Please note that mydomain is the domain to which my User ID belongs. The authentication is ISA i believe.

Would appreciate some help in this.

Thanks in advance

S

Since you are calling an http proxy I don’t think you need to specify http:// on the URL. I could be wrong. I don’t have a proxy to test against to confirm this.

B.

The problem is not inclusion of http:// in the URL(I tried without that). On the contrary I suspect the reason to be on how to specify the domain in the URL. Is my way of specifying the domain right?

C:\Documents and Settings\Users\Desktop>gem install rails -v 3.0.1 -p http://MYDOMAIN\\myUserID:MyPassword@MyProxy:Port

Thanks,

S

The problem is not inclusion of http:// in the URL(I tried without

that). On the contrary I suspect the reason to be on how to specify

the domain in the URL. Is my way of specifying the domain right?

C:\Documents and Settings\Users\Desktop>gem install rails -v 3.0.1 -p

http://MYDOMAIN\myUserID:MyPassword@MyProxy:Port

I found this on StackOverflow where there were discussing setting the http-proxy environment variable for ISA to install a gem on Windows from behind a proxy. I don’t think you need the domain if your admin has specified a default one to authenticate against. However if they have not, one of the comments suggested URI encoding the backslash. So you new string would look like this:

http://MYDOMAIN%5myUserID:MyPassword@MyProxy:Port

http://stackoverflow.com/questions/4418/how-do-i-update-ruby-gems-from-behind-a-proxy-isa-ntlm

B.

Thanks Bryan. I tried this as well as Using a Fiddler as a proxy. But I found that the downloads are being blocked based on the content by the firewall. Generally arbitrary Software Downloads are not permitted in my company.      Theres a separate department which manages Software Downloads based on requests they get for it and they provide us with the installables. I have to approach them. But just worried how am I going to explain the Rails packaging / installation procedure to them in order for them to give me a Zip file that has all Rails and its dependent gems. I think I may have to give up.      Wouldn't it be great if Rails has all the gems bundled into a single archived file available for download? Thats how most Softwares like Netbeans, Eclipse,Glassfish, JBOSS, Apache, MySQL, Postgre SQL , etc are all delivered. This need not be at the cost doing away with RubyGems installer and the benefits that come with it. Its just about having the archived Rails and its dependencies available for download in the Rails site.      Is there a way I can take this as a request to the guys in charge of Rails?

Thanks, S

Would appreciate a workaround for this.

Would appreciate a workaround for this.

Do the install on a non hobbled computer and then copy the gems across ? (rubygems stashes a copy of the .gem files somewhere if my memory is correct). You could also run gem server on this hypothetical machine with the gems installed - this spawns a server capable of serving gems, you'd just need to tell your ruby install to use it with the gem sources command

Fred

> Would appreciate a workaround for this.

Do the install on a non hobbled computer and then copy the gems across ?

Do i have to locate the gem files manually in order to zip them into a single file to be installed elsewhere? Say i run "gem dependency -r rails" which returns me a list of say 100 gems. These gems are located in a directory where there are already 1000 gem files which includes these Rails and its dependent files also. Do I have to browse through the file system manually to locate these 100 rails dependent gem files(from the already existing 1000 files) in order to package/zip them into a single file? Wouldn't that be painful? Is there an automated way of packaging the gem files which would take the output from "gem dependency -r rails" and package them into a single file?

Thanks for taking the time to answer. Much appreciated.

(rubygems stashes a copy of the .gem files somewhere if my memory is correct). You could also run gem server on this hypothetical machine with the gems installed - this spawns a server capable of serving gems, you'd just need to tell your ruby install to use it with the gem sources command

> > Would appreciate a workaround for this.

> Do the install on a non hobbled computer and then copy the gems across ?

Do i have to locate the gem files manually in order to zip them into a single file to be installed elsewhere? Say i run "gem dependency -r rails" which returns me a list of say 100 gems. These gems are located in a directory where there are already 1000 gem files which includes these Rails and its dependent files also. Do I have to browse through the file system manually to locate these 100 rails dependent gem files(from the already existing 1000 files) in order to package/zip them into a single file? Wouldn't that be painful? Is there an automated way of packaging the gem files which would take the output from "gem dependency -r rails" and package them into a single file?

One way way would be to use rvm and work with a fresh gemset, that gemset would only contain the gems installed during this process.

With bundler you can also do bundle package which will copy all of the apps gems into vendor/cache although apparently this doesn't handle dependencies from git repositories. Your Gemfile.lock also includes a list of all your dependencies.

Fred

Would appreciate a workaround for this.

Do the install on a non hobbled computer and then copy the gems across ?

Do i have to locate the gem files manually in order to zip them

into a single file to be installed elsewhere? Say i run "gem

dependency -r rails" which

returns me a list of say 100 gems. These gems are located in a

directory where there are already 1000 gem files which includes these

Rails and its dependent files also. Do I have to browse through the

file system manually to locate these 100 rails dependent gem

files(from the already existing 1000 files) in order to package/zip

them into a single file? Wouldn’t that be painful? Is there an

automated way of packaging the gem files which would take the output

from “gem dependency -r rails” and package them into a single file?

Another thought which you might want to try is create a linux (i.e. ubuntu) vm (virtual box is free). And then you can just get virtual box at your work and then copy the file over. I would say though that you have a bit of a rough road ahead if you plan to happily develop using rails at a company which ties your hands on your dev machine, as whenever you need another gem, to update gems, etc you have the same problem.

Aside though, what Frederick says about rvm may also work out, just given the caveat above.

Hello

You can use a gem called rubysspi which could be downloaded from rubygems.org

then install it - it has no dependecies

now only for windows - copy the spa.rb file from your gems/rubysspi/spa.rb(if not here do find in the gem folder will get it). copy and paste it in C:\Ruby\lib\ruby\site_ruby\ folder.

after this - go to my computer - right click - properties - set environmental variables - HTTP_USER - domain username - HTTP_PASS - domain password - HTTP_PROXY - proxy server - HTTP_POR - proxy server port

This would help you install gems but you will have to use this command to install gems >> ruby -rspa 'c:\ruby\bin\gem' install rails -y

I am not sure; this will help you; but it worked in my organization.

Thanks Raghavendra