Hi folks. I''m just learning RoR, and I''m trying to get my development environment up and running on my Windows machine. I am working through Patrik Lenz''s book from Sitepoint, but am getting stuck because of the esoteric way I set things up on my machine. I already had the Ruby interpreter on my machine through Cygwin, so I thought it would be simpler to install the gem manager, and then all the related modules through Cygwin. Most of my web applications run in a Linux environment, anyway, so I''m comfortable with this approach, and it seemed to work pretty well. Now here''s the tricky part. Cygwin only gives you binaries for some programs. MySQL is not one of them. Usually, this isn''t a problem, so I went to the MySQL web site, grabbed the current 5.0 Windows binary and installed. (I actually had an older version, which I had to remove first.) This wasn''t a big deal. I even got the mysql bin directory in the $PATH variable in bash, So here''s where things get bizzare. I build a table called stories in the MySQL tutorial, just like in the book, and it works just fine. Then I go to my Rails application and run scripts/console. Following the directions in the book. I enter the following code: class Story < ActiveRecord::Base; end ==> nil story = Story.new This makes perfect sense to me, however, instead of getting a pleasant response from the second line, I get about twenty lines of exceptions. I won''t bother with the whole thing, but is starts off: Errno::EBADF: Bad file descriptor - /tmp/mysql.sock from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/ active_record/v endor/mysql.rb:107:in `initialize'' from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/ active_record/v endor/mysql.rb:107:in `new'' from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/ active_record/v endor/mysql.rb:107:in `real_connect'' from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/ active_record/c onnection_adapters/mysql_adapter.rb:389:in `connect'' .... Of course, what''s happening is that because Ruby emulates a Linux environment, it''s looking for the mysql.sock file in the most logical Linux location, but because my MySQL install is vanilla Windows, its not there, and there may not even be such a thing as a mysql.sock file. As far as I can tell, this leaves me with two unpalatable options. 1. I uninstall the MySQL service, download the source, and spend hours of my life trying to compile it from source under Cygwin. 2. I uninstall Ruby from cygwin, figure out where it placed gem, rails, and all the other support files it installed so strange things don''t happen in the future, and then install a vanilla Ruby / Rails installation like everyone else. Both of these options seem like a lot of wasted effort. Is there a simple third solution that I am overlooking? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
dcloutman wrote:> Of course, what''s happening is that because Ruby emulates a Linux > environment, it''s looking for the mysql.sock file in the most logical > Linux location, but because my MySQL install is vanilla Windows, its > not there, and there may not even be such a thing as a mysql.sock > file. As far as I can tell, this leaves me with two unpalatable > options. > > 1. I uninstall the MySQL service, download the source, and spend hours > of my life trying to compile it from source under Cygwin. > > 2. I uninstall Ruby from cygwin, figure out where it placed gem, > rails, and all the other support files it installed so strange things > don''t happen in the future, and then install a vanilla Ruby / Rails > installation like everyone else. > > Both of these options seem like a lot of wasted effort. Is there a > simple third solution that I am overlooking?You could connect over TCP/IP on localhost. -- Roderick van Domburg http://www.nedforce.nl -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Much simpler explanation: Rails is using /config/database.yml to find out how to connect to your database and you''ve got it set up in a way that tells it to use a tcp connection. Change /config/database.yml, dropping the definitions for host and socket for each DB environment you''re running from your win box. AndyV On Aug 19, 9:05 pm, dcloutman <dclout...-va+ULTPPsCr7uhv0AaPmaA@public.gmane.org> wrote:> Hi folks. I''m just learning RoR, and I''m trying to get my development > environment up and running on my Windows machine. I am working through > Patrik Lenz''s book from Sitepoint, but am getting stuck because of the > esoteric way I set things up on my machine. > > I already had the Ruby interpreter on my machine through Cygwin, so I > thought it would be simpler to install the gem manager, and then all > the related modules through Cygwin. Most of my web applications run in > a Linux environment, anyway, so I''m comfortable with this approach, > and it seemed to work pretty well. > > Now here''s the tricky part. Cygwin only gives you binaries for some > programs. MySQL is not one of them. Usually, this isn''t a problem, so > I went to the MySQL web site, grabbed the current 5.0 Windows binary > and installed. (I actually had an older version, which I had to remove > first.) This wasn''t a big deal. I even got the mysql bin directory in > the $PATH variable in bash, > > So here''s where things get bizzare. I build a table called stories in > the MySQL tutorial, just like in the book, and it works just fine. > Then I go to my Rails application and run scripts/console. Following > the directions in the book. I enter the following code: > > class Story < ActiveRecord::Base; end > ==> nil > story = Story.new > > This makes perfect sense to me, however, instead of getting a pleasant > response from the second line, I get about twenty lines of exceptions. > I won''t bother with the whole thing, but is starts off: > > Errno::EBADF: Bad file descriptor - /tmp/mysql.sock > from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/ > active_record/v > endor/mysql.rb:107:in `initialize'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/ > active_record/v > endor/mysql.rb:107:in `new'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/ > active_record/v > endor/mysql.rb:107:in `real_connect'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/ > active_record/c > onnection_adapters/mysql_adapter.rb:389:in `connect'' > .... > > Of course, what''s happening is that because Ruby emulates a Linux > environment, it''s looking for the mysql.sock file in the most logical > Linux location, but because my MySQL install is vanilla Windows, its > not there, and there may not even be such a thing as a mysql.sock > file. As far as I can tell, this leaves me with two unpalatable > options. > > 1. I uninstall the MySQL service, download the source, and spend hours > of my life trying to compile it from source under Cygwin. > > 2. I uninstall Ruby from cygwin, figure out where it placed gem, > rails, and all the other support files it installed so strange things > don''t happen in the future, and then install a vanilla Ruby / Rails > installation like everyone else. > > Both of these options seem like a lot of wasted effort. Is there a > simple third solution that I am overlooking?--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
It turns out the solution is simple. I just needed to set my host to 127.0.0.1 instead of localhost and it worked like a charm. On Aug 20, 12:14 am, Roderick van Domburg <rails-mailing-l...@andreas- s.net> wrote:> dcloutman wrote: > > Of course, what''s happening is that because Ruby emulates a Linux > > environment, it''s looking for the mysql.sock file in the most logical > > Linux location, but because my MySQL install is vanilla Windows, its > > not there, and there may not even be such a thing as a mysql.sock > > file. As far as I can tell, this leaves me with two unpalatable > > options. > > > 1. I uninstall the MySQL service, download the source, and spend hours > > of my life trying to compile it from source under Cygwin. > > > 2. I uninstall Ruby from cygwin, figure out where it placed gem, > > rails, and all the other support files it installed so strange things > > don''t happen in the future, and then install a vanilla Ruby / Rails > > installation like everyone else. > > > Both of these options seem like a lot of wasted effort. Is there a > > simple third solution that I am overlooking? > > You could connect over TCP/IP on localhost. > > -- > Roderick van Domburghttp://www.nedforce.nl > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---