Re: [CODE4LIB] Ruby on Windows
Josh, If you're wanting to deploy a Ruby app to Windows desktops then you might look at Shoes or jRuby (as others suggested): http://www.slideshare.net/anisniit/jruby-15867973 http://www.slideshare.net/anisniit/jruby-15867973http://www.slideshare.net/anisniit/jruby-15867973 For web apps...what everyone else said, but if you're adventurous you might look at Ironpython and Ironruby: https://github.com/IronLanguages Jason https://github.com/IronLanguages-- Original message -- From: Jonathan Rochkind Date: 10/01/2013 7:04 PM To: CODE4LIB@LISTSERV.ND.EDU; Subject:Re: [CODE4LIB] Ruby on Windows 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 [CODE4LIB@LISTSERV.ND.EDU] on behalf of Ross Singer [rossfsin...@gmail.com] Sent: Tuesday, October 01, 2013 7:06 PM To: CODE4LIB@LISTSERV.ND.EDU 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:CODE4LIB@LISTSERV.ND.EDU javascript:;] On Behalf Of David Mayo Sent: Tuesday, October 01, 2013 3:44 PM To: CODE4LIB@LISTSERV.ND.EDU 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 rossfsin...@gmail.comjavascript:; wrote: It's probably also possible to get
Re: [CODE4LIB] Ruby on Windows
To summarize options: - Linux VM in VirtualBox (ubuntu, fedora, centOS, etc.) - Groovy (dynamic JVM language) is an excellent cross-platform option, one I use daily. Especially if you are coming from a Java background. The Groovy web framework comparable to rails is Grails. Packaging in Ruby is one of the worst downsides of an otherwise compelling language, and getting it onto Windows is more than I would bother with. If you are doing Groovy, I'd still develop it on linux (for ease of integration with various documentation and tutorials, and of course personal preference). --Joe On Tue, Oct 1, 2013 at 5:13 PM, Joshua Welker wel...@ucmo.edu 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
Re: [CODE4LIB] Ruby on Windows
I don't think anyone really develops, or deploys Ruby on Windows so nobody probably tests any Gems on Windows. Hopefully someone here is an exception and can help you. You could run a local headless Linux VM and SSH into it... On Oct 1, 2013, at 2:49 PM, Joshua Welker wel...@ucmo.edu 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
Re: [CODE4LIB] Ruby on Windows
My *guess* is (and more sophisticated Rubyists can chime in and tell me I'm wrong) is that the gems that are failing on your Windows install are the gems that have Unix-ish dependencies -- e.g., the Blather gem wants to compile something in C and is looking for gcc or make or something you don't have, and the gems that work are the gems that are pure Ruby. jf On Tue, Oct 1, 2013 at 4:07 PM, Jeremy M Prevost j-prev...@northwestern.edu wrote: I don't think anyone really develops, or deploys Ruby on Windows so nobody probably tests any Gems on Windows. Hopefully someone here is an exception and can help you. You could run a local headless Linux VM and SSH into it... On Oct 1, 2013, at 2:49 PM, Joshua Welker wel...@ucmo.edu 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
Re: [CODE4LIB] Ruby on Windows
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 jus...@curationexperts.comwrote: 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 wel...@ucmo.edu 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
Re: [CODE4LIB] Ruby on Windows
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 leftw...@alumni.rutgers.edu 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 jus...@curationexperts.comwrote: 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 wel...@ucmo.edu 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
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 rossfsin...@gmail.com 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 leftw...@alumni.rutgers.edu 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 jus...@curationexperts.com 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 wel...@ucmo.edu 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
Re: [CODE4LIB] Ruby on Windows
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:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of David Mayo Sent: Tuesday, October 01, 2013 3:44 PM To: CODE4LIB@LISTSERV.ND.EDU 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 rossfsin...@gmail.com 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 leftw...@alumni.rutgers.edu 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 jus...@curationexperts.com 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 wel...@ucmo.edu 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
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:CODE4LIB@LISTSERV.ND.EDU javascript:;] On Behalf Of David Mayo Sent: Tuesday, October 01, 2013 3:44 PM To: CODE4LIB@LISTSERV.ND.EDU 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 rossfsin...@gmail.comjavascript:; 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 leftw...@alumni.rutgers.edu 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 jus...@curationexperts.com 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 wel...@ucmo.edujavascript:; 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
Re: [CODE4LIB] Ruby on Windows
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 [CODE4LIB@LISTSERV.ND.EDU] on behalf of Ross Singer [rossfsin...@gmail.com] Sent: Tuesday, October 01, 2013 7:06 PM To: CODE4LIB@LISTSERV.ND.EDU 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:CODE4LIB@LISTSERV.ND.EDU javascript:;] On Behalf Of David Mayo Sent: Tuesday, October 01, 2013 3:44 PM To: CODE4LIB@LISTSERV.ND.EDU 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 rossfsin...@gmail.comjavascript:; 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 leftw...@alumni.rutgers.edu 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 jus...@curationexperts.com 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