Print

Print


So, when my desktop workstation was Windows, i developed ruby by actually running it on a seperate box which was a linux box. I'd just ssh in for a command line, and I used ExpanDrive[1] to mount the linux box's file system as a "G://" drive on Windows, so I could still edit files there with the text editor of my choice. 




So it barely mattered that it was a separate machine, right?  Even if it had somehow been on my local machine, I'd still be opening up some kind of shell (whether CMD.exe or more likely some kind of Cygwin thing) to start up my app or run the automated tests etc.  It's a window with a command line in it, what does it matter if it's actually running things on my local machine, or is a putty window to a linux machine?




So, if you don't have a separate linux machine available, you might be able to do something very similar using VirtualBox[2] to run a linux machine in a VM on your windows machine.  With VirtualBox, you can share file systems so you can just open up files 'in' your linux VM on your Windows machine. There's probably a way to ssh into the local linux VM, from the Windows host, even if the linux VM doesn't have it's own externally available IP address.  




It would end up being quite similar to what I did, which worked fine for me for many years (eventually I got an OSX box cause I just like it better, but my development process is not _substantially_ different). 




But here's the thing, even if you manage to do actual Windows ruby development without a linux VM... assuming you're writing a web app... what the heck are you going to actually deploy it on?  If you're planning on deploying it on a  Windows server, I think you're in for a _world_ of hurt; deploying a production ruby web app on a Windows server is going to be much _more_ painful than getting a ruby dev environment going on a Windows server. And really that's not unique to ruby, it's true of just about any non-Microsoft interpreted/virtual-machine language, or compiled language not supported by Microsoft compilers.  There are reasons that almost everyone running non-MS languages deploys on linux (and a virtuous/viscious circle where since most people deploy on linux, most open source deployment tools are for linux). 




If you really have to deploy on a Windows server, you should probably stick to MS languages. Or, contrarily, if you want to develop in non-MS languages, you should find a way to get linux servers into your infrastructure. 








[1] http://www.expandrive.com/
[2] https://www.virtualbox.org/
________________________________________
From: Code for Libraries [[log in to unmask]] on behalf of Ross Singer [[log in to unmask]]
Sent: Tuesday, October 01, 2013 7:06 PM
To: [log in to unmask]
Subject: Re: [CODE4LIB] Ruby on Windows




If you absolutely must have a Windows development environment, you may want
to consider a JVM-based scripting language, like Groovy or JRuby. All the
cross-platform advantages, none of the woe. Or, not as much, at
least (there's always a modicum of woe with anything you decide on).




-Ross.




On Tuesday, October 1, 2013, Joshua Welker wrote:




> I'm using Windows 7 x64 SP1. I am using the most recent RubyInstaller
> (2.0.0-p247 x64) and DevKit (DevKit-mingw64-64-4.7.2-2013022-1432-sfx).
>
> That's disappointing to hear that most folks use Ruby exclusively in *nix
> environments. That really limits its utility for me. I am trying Ruby
> because dealing with HTTP in Java is a huge pain, and I was having
> difficulties setting up a Python environment in Windows, too (go figure).
>
> Josh Welker
>
>
> -----Original Message-----
> From: Code for Libraries [mailto:[log in to unmask] <javascript:;>]
> On Behalf Of
> David Mayo
> Sent: Tuesday, October 01, 2013 3:44 PM
> To: [log in to unmask] <javascript:;>
> Subject: Re: [CODE4LIB] Ruby on Windows
>
> DevKit is a MingW/MSYS wrapper for Windows Ruby development.  It might not
> be finding it, but he does have a C dev environment.
>
> I know you cut them out earlier, but would you mind sending some of the C
> Header Blather our way?  It's probably got some clues as to what's going
> on.
>
> Also - which versions of Windows, RubyInstaller, and DevKit are you using?
>
>
>
>
> On Tue, Oct 1, 2013 at 4:38 PM, Ross Singer <[log in to unmask]<javascript:;>>
> wrote:
>
> > It's probably also possible to get these working within Cygwin.
> > Assuming the libraries you need to compile against are available in
> > Cygwin, of course.
> >
> > -Ross.
> >
> > On Oct 1, 2013, at 4:28 PM, "Michael J. Giarlo" <
> > [log in to unmask] <javascript:;>> wrote:
> >
> > > Our Windows-based devs all do their Ruby work on Ubuntu and Fedora
> > > VMs, FWIW.
> > >
> > > -Mike
> > >
> > >
> > >
> > > On Tue, Oct 1, 2013 at 1:12 PM, Justin Coyne
> > ><[log in to unmask] <javascript:;>
> > >wrote:
> > >
> > >> If you see something about C-extensions, it's because the library
> > >> is not written in pure Ruby, it is a wrapper around a library written
> in C.
> >  Your
> > >> system may not have the C compiler or some of the libraries needed
> > >> to compile or link the extension.
> > >>
> > >> Justin Coyne
> > >>
> > >>
> > >> On Tue, Oct 1, 2013 at 2:49 PM, Joshua Welker <[log in to unmask]<javascript:;>
> >
> wrote:
> > >>
> > >>> I am attempting to write my first small Ruby app, but I am running
> > >>> into major problems just getting off the ground developing in
> > >>> Windows. I downloaded the most recent Ruby 2.0 package from
> > >>> RubyInstaller. Then I installed DevKit so I could use gems. After
> > >>> some fiddling, I was
> > finally
> > >>> able to install some gems.
> > >>>
> > >>>
> > >>>
> > >>> Some.
> > >>>
> > >>>
> > >>>
> > >>> For any given gem I try to install, there's about a 25% chance
> > >>> that I
> > get
> > >>> this byzantine error:
> > >>>
> > >>>
> > >>>
> > >>> ERROR: Failed to build gem native extension.
> > >>>
> > >>> [.a whole bunch of gibberish about C headers and so forth.]
> > >>>
> > >>>
> > >>>
> > >>> In particular, I am trying to install the Blather XMPP client. I
> > >>> am
> > >> tempted
> > >>> to just give up and develop on Linux, but I am wanting to deploy
> > >>> this script to Windows machines and figure I might run into
> > >>> problems if I
> > >> don't
> > >>> develop in Windows. I have Googled the heck out of this issue and
> > >>> can't find anything that is similar to my case (the solutions on
> > >>> the RubyInstaller Github wiki did not work). Do any of you Ruby
> > >>> people know
> > >> why
> > >>> I might be having this error so frequently in my Windows
> environment?
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>> Josh Welker
> > >>>
> > >>> Information Technology Librarian
> > >>>
> > >>> James C. Kirkpatrick Library
> > >>>
> > >>> University of Central Missouri
> > >>>
> > >>> Warrensburg, MO 64093
> > >>>
> > >>> JCKL 2260
> > >>>
> > >>> 660.543.8022
> > >>>
> > >>
> >
>