Portable Ruby on Rails environment - ruby-on-rails

I got myself a new 8 gig USB key and I'm looking for a decent solution to have a portable RoR environment to learn on. I did the google on it and found a few possibilities, but I'm curious to hear some real life experiences and opinions. Thanks!

I like InstantRails, very easy to use, no installer, and does not modify your system environment.

InstantRails was replaced by [BitNami RubyStack] in 2007.
http://bitnami.org/stack/rubystack

How to create a portable environment based on RubyInstaller's binaries and Development kit:
http://hcettech.blogspot.pt/2012/05/windows-portable-rails-development.html
Related: Portable Ruby on Rails environment for Windows

Setting up a portable install of Cygwin would be a good choice.
You'll have a full *nix environment which would give you endless possibilities. You could easily have Ruby, Rails, Mongrel (or whatever server of choice) as well as a really good editor at your disposal as well. I would recommend VIM with this Rails specific VIM configuration (fantastic looks and feel!).
I currently have a similar setup running Cygwin off a jump drive. I use it mostly for the bash shell, VIM, and using tail to monitor development log files with its nicely color coded syntax.

I found this, and I intend to give it a go this evening:
Flash Rails

Assuming you're on Windows, I'd go for Instant Rails and Netbeans (with a JVM for Netbeans).
Netbeans is a bit heavy-weight, but it supports lots of nice rails focused IDE features and is the best IDE for Rails on Windows IMO.
You'll get all of that on a lot less than 1 gig.

Related

How can I create an all-in-one installer for Ruby on Rails application deployment on Windows?

I'm in the process of deploying a rails application to Windows machines. I do all of my development with OS X and Linux, but the final app will actually run on Windows machines.
That said, my client is looking for an all-in-one Apache(I had to talk him out of IIS)+Rails+Application deployment/installer. He wants to hand all of his (Windows-based) clients an install CD for their respective servers (they all want their own setup).
Is there anything like this in existence? I realize Capistrano exists but that requires a great deal of setup on the hosts (especially for Windows) beforehand and it's not very feasible in this particular case.
In the past I've used InnoSetup (http://www.jrsoftware.org/isinfo.php) for creating installers, but I'm not sure that's going to work in this case.
If you guys have any input, suggestions, or highly persuasive client techniques (to talk them all out of Windows =P) it would be most appreciated.
Best.
Try with RubyStack:
BitNami RubyStack is an installer that greatly simplifies the installation of Ruby on Rails and its runtime dependencies. It includes ready-to-run versions of Ruby, Rails, MySQL and Subversion as well as a number of third-party libraries like FiveRuns TuneUp. RubyStack is distributed for free under the Apache 2.0 license and has been packaged using BitRock's multiplatform installer.
http://bitnami.org/stack/rubystack
I'd look into using jruby with glassfish. Make sure the users have java and it should be good to go.
RubyStack is the closest thing to what you're after, although you might need to tailer the install a bit and remove some unwanted baggage. I don't know of any other Windows projects for a production environment (InstantRails is designed for development).
Maybe you can make InstantRails meet your needs.
Ruby and thus Ruby on Rails is a fairly notorious deployment on Windows even in the best of circumstances, moreso when the setup is out or your hands like that. I don't mean to admonish, but this definitely speaks to matching development and deployment enviroment (I once ran into similar problems when I found out that the Java enviroment we were deploying to was a good half-a-decade out of date).
As I don't have enough Ruby-on-Windows experience to fairly weigh in on the matter, I'd say either LiveCD's or CygWin deployments may be worth looking at (Always good to broaden people's view on alternate Operating Systems, right?).
Have you considered building a single version that runs in a VM?
For this particular problem, I'd go with a traditional Windows installer package like NSIS.
When I had a client with a Windows-only IT department, though, I found they were much more amenable to an XServer than a linux server. I don't generally think of OS X as a server OS, but it actually worked really well. I tried for linux first, and when they shot it down, I suggested OS X and they jumped at it.
It helped, I think, that they already supported some Mac laptops.
Good luck!
As other posters have suggested, RubyStack should be a good option. It is free and you can always use it to run your own 'post install' scripts to customize it for what you want. If you want a supported stack or addition/modifications to RubyStack you can get commercial support from BitRock We have done so for several Rails based companies that wanted a local version, including for the guys over at GitHub

Developing in Ruby on Windows [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm starting a new job soon where I'm going to be developing in Ruby and Rails on a Windows machine. I haven't used Windows for years, and the likes of Textmate, Git and Bash, are an integral part of the workflow using a Mac.
So, does anybody have any suggestions or recommendations as to the best tools or work strategies to use? Or pitfalls to avoid?
In particular, of course, I'm interested in the best text editor. (I'm seriously thinking about taking the opportunity to learn Vim or Emacs, or whatever the Windows ports are called, but any other thoughts would be welcome.)
Additionally, any ideas of useful plugins, tools or programs would be appreciated.
If you think that I've completely lost my mind, then feel free to tell me too ;-)
cheers !
Ruby and Rails
RubyInstaller for Windows
RubyStack installer for Windows
Rails
Development Environment
IDEs
RubyMine
NetBeans
Aptana RadRails
Text Editors
Sublime Text 2
e (aka TextMate for Windows) (seems to have been abandoned)
Vim/Ruby
bash Environment
Cygwin
Source Control
Git
Helpful Links
Setting Up Rails Development Environment on Windows XP
RubyonWindows Blog
Is Windows a First Class Platform for Ruby?
Related Questions
Why is ruby so much slower on windows?
Limitations in running Ruby/Rails on windows
Will using an IDE with Rails hinder me?
GUI editor for Ruby in Windows
What IDE / Editor do you use for Ruby on Windows?
https://stackoverflow.com/questions/826164/a-definitive-list-of-ides-for-ruby-on-rails
Ruby On Rails with Windows Vista - Best Setup?
https://stackoverflow.com/search?q=ruby+on+windows
RubyMine is supposed to be a top notch IDE. JetBrains always makes great products.
NetBeans or e as IDEs
Here's my incredibly detailed setup guide for Windows Server 2003, which works essentially unchanged on XP Pro and Vista. See this general installation list, and modify the instructions if you get different results. They're meant for people new to programming, so they'll probably be overly explicit for your purposes.
IMO, the one thing you definitely need is a *nix-style shell. This has nothing to do with whether you like dir or ls - you need to be able to run shell scripts or you won't get very far.
git bash (comes with msysgit) is my beacon in the storm of cmd.exe windows. It's essentially bash on Windows, and lets you run almost any script that you can run on *nix. This includes all the gem command line executables.
It gets weird in a few places.
File permissions - there just isn't a great way to map between Windows ACLs and POSIX file permissions. The Cygwin people have devoted years to solving it, but it still doesn't work all the time. git bash's approach is to just not do anything when asked to do a (for example) FileUtils.chmod. That means you may need to create a few more directories by hand, and you do need to be very aware of when something is changing file permissions.
For example, when I installed the Heroku gem on Windows, it tried to set the permissions of my Heroku credentials file, which has my Heroku password in plaintext, to u+r go-rwx. You'd definitely want to change the ACLs on that file if you're on a shared machine.
Scripts vs. .bat files - I wanted to change git's default editor from vi to SCiTE (not that I don't like vi; this was for a new-user workshop and I didn't want to explain editing modes). I had to create a .bat file that was actually a shell script. See the full explanation here:
How can I set up an editor to work with Git on Windows
I am using Netbeans, which is a good overall editor (at least for me).
For simple projects I use JEdit.
You can find the link at
NetBeans IDE
You can find JEdit at JEdit
git is available on Windows: http://code.google.com/p/msysgit/ or http://kerneltrap.org/Linux/Git_on_Windows
Basically, you need to decide whether you are going to go the Cygwin route or the MingW route. Both will provide you with Bash as well.
GVim works great. I use the native port rather than the Cygwin version.
If your development life is switching to Windows then you may want your employer to invest in this:
Ruby In Steel by SapphireSteel Software
I've used it in the past when I started tinkering with Ruby on Rails, quite nice and reasonably mature now. Also it's built on Visual Studio which I still think is one of the premier development environments around.
Maybe bring a LiveCD to work with you every morning..
you can even put it on a usb flash drive, if you use a small enough distro/big enough drive...
Cygwin as command line tool
The two best RoR IDE's I've used are NetBeans and Aptana Studio. However, for the most part I stick with Notepad++ and its various plugins (Explorer and HTML tags being two important ones).
This may not be applicable in your situation (IT restrictions, etc), but another option might be virtualization. You could install VirtualBox, VMWare, or some equivalent, and run Ubuntu (or your preferred Linux distribution, of course) that way, gaining access to the full UNIX toolset.
You didn't say whether you're using Windows voluntarily. However, this line suggests to me that maybe that's the case:
"If you think that I've completely lost my mind, then feel free to tell me too"
If you have any choice in the matter, I strongly recommend using a Unix-based system instead of Windows. If you have to go through inconvenience, spend money, or jump through hoops to avoid doing Ruby/Rails development on Windows, it will be worth it.
I've had to cope with Ruby and Rails on Windows a lot recently due to legacy systems and other developers' preferences. Rails development on a Unix-based system is much more efficient. The difference is not subtle.
That said, as others have mentioned, installing mysysgit even if you aren't using Git is helpful because it comes with Git Bash which gives you a usable bash command line.
As for text editors, I like Notepad++.
NetBeans is a really nice IDE for Rails development. Decent syntax highlighting, code completion, error highlighting. Handy keyboard shortcuts for navigation. It's pretty good.
IntelliJ IDEA
I developed in RoR under Windows for a few years, it's bearable, but Linux (or Mac) is much better for this. Lots of gems and plugins are considerably harder to install on Windows (quixml, for example).
My favorite text editor under Windows is Textpad, Eclipse is also pretty good.
If you want to use ls, find, grep... in Windows console, just download some package of their Win32 ports, install them and add to your PATH (Cygwin is definitely better, but also harder to install). You might also try out Powershell, it's supposed to be a replacement for unix command line by Microsoft.
I use virtual box, putty, and xming to do the development in an isolated linux environment. I blogged the full setup here
I've struggled a lot with Rails development on Windows. At some point I needed a specific gem that didn't work on Windows. I prefer working with a VM using Vagrant
Here's a blog post I wrote, how I setup my projects with the use of Chef and Vagrant

Not java based editor for Ruby on Rails on windows?

It appears that NetBeans and Aptana/RadRails are the most common adopted IDE's for Ruby on Rails development, but both needs the Java Runtime Environment to run.
I'm looking for an IDE wich doesn't need JRE to run. If it is lightweight and installs very fast would be better, because I will be programming in computers with old hardware and Windows XP.
Do you know any? Thanks a lot.
Maybe E?
I am a big fan of SciTE and the command line.
Actually I would say that Vim paired with rails.vim is amongst the most popular editors for Rails. Vim, gVim and Cream are all available for Windows.
Learning curve is massively steep, but its worth it.
Also, if you are doing any serious Rails work, development on Windows sucks. It takes way too long to spin up a script/console or a web. Tooling is much better on Linux. When I'm doing Rails work on my Windows box I do it on an Ubuntu VM.
Komodo Edit is one of the best IDEs I've ever used, and it has Rails support (although maybe not as good as Aptana/RadRails). If you have money to spare, I'd highly recommend Komodo IDE, as it has some great extra features, but if not, Komodo Edit has everything you need. As for speed, it's slow to start up but after that it's as fast as any other "lightweight" editor you've used.
What about the editor that comes with ruby-one-click for windows? Would it work? (the one written in ruby).
There is also gvim or vim if you are feeling adventurous.
JetBrains RubyMine
I did not use this program, but "System Requirements" did not indicate requirements for Java Runtime Environment in Windows version.

Ruby IDEs: any worth looking at?

I currently use TextMate for all my Rails development, and I like it very much, but I wonder if I'm missing anything by not using an IDE. Has anyone switched from using TextMate or another powerful text editor to a Ruby IDE? Am I missing anything?
JetBrains, the people who created the legendary IDEA IDE for Java, have RubyMine in beta. DHH has mentioned it, so it must be good!
TextMate is king for Development on Mac, it's not too bloated and has so many good bundles made by the developers that use those particular languages. Can't be beat in my opinion.
I think IntelliJ/RubyMine is pretty good because I've been coding Java for a while. There's some feature holes for Rails development, but I expect that Jetbrains will quickly fix those in coming versions.
I just got turned onto Textmate because my laptop is a Powerbook 12" G4. Running IntelliJ is pretty snappy, but it makes the fans run constantly with a volume approaching "airplane engine". Working with Textmate keeps my laptop quiet.
In my opinion textmate is the best IDE if you have a Mac. It is highly customizable and you can pretty much do everything you want with it. Plus a lot of developers are using textmate for rails and therefore creating scripts and features that you can import and use.
I'm using Aptana with radrails when I'm on windows, but it's not as good. Plus you can't customize it as much. The other issue is that since it's based on eclipse it's quite ressource intensive and from my experience it's not as stable as textmate.
Aptana has some cool features, like being able to call script/generate and rake tasks directly from the interface, but this is something I could live without.
Aptana RadRails is one of the best Ruby IDEs out there, with Rails support, HTML editors, etc. It is a plugin for Eclipse, and is also supplied standalone.
I use Netbeans because I like the test support and test coverage features combined with the fact that I can use it for multiple languages & environments. They really try to provide a complete environment but I find I still have to step out to the command line a lot - starting thinking_sphinx, running cucumber, tailing logs etc.. so it is never quite comprehensive. It is also slow as hell on my slow as hell laptop.
I used the eclipse rails plugin for a while and it is also pretty good but Netbeans had a pretty good feature surge for 6.5. that won me over.
If you're on Windows you may want to look at "Ruby in Steel"
I've just found it and have not worked with it much nbut the experience so far is good. So if you use VisualStudio for your job this may be a nice addon to help get Ruby into the same environment.
On a mac it is probably not worth it as TextMate is very optimized for Rails development through bundles. I did use AptanaIDE when I was on Windows though. The main problem here is not the IDE itself but the fact that it is not useable (as in snappy enough) on the machine I had. And strangely enough for a Ruby programmer I believe that a program that makes editing unformatted text feel sluggish on a 1Ghz/Gbyte machine is doing something wrong.
Has anyone switched from using TextMate or another powerful text editor to a Ruby IDE? Am I missing anything?
Yes, I recently switched from Vim to RubyMine. (And I also used TextMate before that.) Personally I think the tradeoff is worthwhile, because of how well designed and well implemented RubyMine is. So the quality of the tool makes up for the heavier footprint.
The things I felt I was "missing" with Vim included well-implemented code completion, open files by typing partial filename, click on a symbol to go to the declaration, and a lot of other stuff.
I really like Komod for Ruby and Python development.

Ruby On Rails with Windows Vista - Best Setup? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
What do you think is the best set-up for RoR in a Win Vista environment? I've tried the radrails eclipse plug-in, and it just seemed too bulky for me, I've also started to just use Textpad and the command line, but I'm used to having somewhat of an IDE to work with.
I don't know about "best", because that's a subjective question, but I can tell you what setup I use and recommend:
Editor: E Text Editor
TextMate seems to be the editor of choice for Rails on Mac. E Text Editor is essentially TextMate for Windows. Its bundles are broadly compatible with TextMate's including the Rails 2 bundle which is included with the basic install.
Alternatively, if you're into the whole Visual Studio ecosystem, then Ruby in Steel PE might be a better bet. It's a really nice all-in-one package that actually comes with (a stripped-down version of) Visual Studio now.
Environment: VirtualBox running Ubuntu Server
Deploying a Rails app can be a pain at the best of times; deploying a Rails app from a Windows environment onto a *nix server is even worse. Plus, running Rails apps on Windows is slow. Running your tests is slow. So I use VirtualBox to host a VM on my Windows machine that mirrors my target deployment environment as closely as possible. In my case I run Ubuntu Server because there are a really nice set of step-by-step tutorials for getting up-and-running with a full Ubuntu-based Rails stack on the SliceHost wiki.
Here are the benefits of developing using a VM:
I map a network drive to the VM so that I can edit the code on it directly from Windows using E Text Editor. The VM acts and feels just like a command line window. So you don't feel like you're in a completely alien environment.
It runs Rails and other Ruby scripts (like tests) faster than running it natively in Windows
Everything is contained and snapshottable, so I can experiment and generally play around without worrying about breaking anything. If something does break, I just roll back to a previous good state.
It uses hardly any RAM. It will typically use less that 100MB (it's currently using ~43MB, but I don't have a Rails app spun-up). Contrast this with, say, Firefox which will typically be hogging >200MB and you realize that running a Linux-based VM like this is amazingly efficient.
I can move my environment between machines
I have much more robust deployment workflow
I can limit the VM to have exactly the same amount of RAM as the server I'll be hosting on. E.g., if I'm to be using a SliceHost 256MB slice, I would limit the RAM to 256MB.
I can build a seperate environment for different hosts. If I wanted to host on Joyent, for example, I could build an Open Solaris VM
Gems and other binaries won't need recompiling for your target environment
It's "a good thing"™ to get to grips with the environment your Rails app is likely to be running on. Seeing as most, if not all, commercial Rails hosts run some sort of *nix derivative, you're going to want to be comfortable with the *nix environment.
e-texteditor seems to be growing as the editor of choice for rails development on ruby. Too bad it isn't free.
Aside from that, the RailsOnWindows guide works fine. And Sqlite is by far your best choice for development: RailsWithSqlite
NetBeans is definitely recommended if you like IDEs. It has a lot of Ruby features and there's a Ruby only download.
There probably isn't a definitive "right" answer - it's going to depend on how you like to develop.
However, it's interesting to note that most of the "name" Rails folk seem to use Textmate on their Macs. So a fairly powerful editor rather than an IDE. I suspect this is at least in part because of the fairly strong TDD bias within the Rails community - not so much debugging being necessary because they're working in small test-driven steps. That's the theory anyway.
The closest analog to Textmate in Windows seems to be e. It costs, but a fairly trivial amount (pocket-money, if we're honest). There's a 30-day free evaluation available too.
I've used Scite for much of my Ruby/Rails work, don't discard it just because it's the "default" - there's a reason why it was chosen for inclusion.
As for IDEs, I couldn't get anything to work in Eclipse, NetBeans seems quite good and I tried the beta of Sapphire in Steel, also pretty slick. I just don't seem to want to work in an IDE; the opposite of how I feel about working in C#, strangely enough.
Are you just looking for an IDE, or a full stack (IDE, source control, database, web server)?
If just an IDE, I would recommend NetBeans or RadRails. Both have syntax highlighting, code help, support for Rails projects, code completion, and basically everything else you would expect to find in a full-featured IDE. Both are also completely free. Of course, both suffer from the "bulky" problem that you identify.
If a full stack, I would recommend Subversion, MySql, and Mongrel. These three are all very simple and well-supported in Windows.
Seconded for e-texteditor. I use it daily and it's great (although not without it's share of BUGS).
For the rails side of things though, I'd actually suggest a virtual machine running linux.
Ubuntu works well, the only caveat is that you have to install rubygems manually, as it does not adhere to the great debian filesystem naming ideology :-(
I suggest this because if you want to do "advanced" things, such as installing ImageMagick/RMagick, or memcached, or a number of other plugins which require native C libraries, it becomes very painful very quickly if you're on windows.
A second reason is that unless you are very atypical, your production server will likely be running linux too. It's good practice to have your development environment match your deployment environment as closely as possible, to help you find and fix bugs earlier and more easily, and avoid fixing bugs that won't affect your production site (like windows specific ones)
Microsoft Virtual PC and VMWare both have free options, which work well, and are plenty fast, so this is not a problem.
Instant Rails is a good way to get started quick.
I can verify that it works well on Vista.
I suggest you install Ruby first.
Then install Rails.
Then download Aptana and install it.
After that you can install RadRails from Aptana's start page.
Please refer to "Aptana Radrails: An Ide for Rails Development" published by Packt publishing when using RadRails.
You might want to take a look at this:
http://www.sapphiresteel.com/
There's a free personal edition too
(Updated: Assuming that you already have Visual Studio Full Fat Edition)
I am one of the contributors to Rubystack is a free, all-in-one installer for Windows that installs Apache, MySQL, Ruby, Rails and all other third-party libraries typically used on a development environment (such as Imagemagick). You may want to give it a try
RubyMine 3-4 + (RubyInstaller, DevKit for building gems, Postgres, msys git)
works perfect for me on Windows 7 as a development platform.
Well, except the problem that ruby is very SLOW with rails on windows.

Resources