I'm a rails developer and I always programmed on linux environment using Netbeans and RVM.
I would like to try a migration on windows using the IDE rubymine that I've already downloaded. Is there any tutorial or instructions to set up the environment for people like me that are approaching on Windows in Rails for the very first time? (installing ruby the gems etc ? ).
There's a section on Windows instalation in the excellent Rails Tutorial
I also found this blog entry that walks you the process step-by-step
When installing on Windows myself I used this video tutorial from Tekpub, but you'll need to pay to access it.
I recommend you http://rubyinstaller.org/ or http://www.railsinstaller.org/
I did it on my machine and everything works fine, you can add later pik (a multi ruby manager)
Related
I have a few questions about using Ruby on an OS X 10.11 El Capitan:
Do you think it is ok to modify Apple's built-in Ruby installation (as in installing or upgrading Gems), or should I install a separate ruby environment? (I had been modifying the built in one previously, but once I upgraded to El Capitan Apple undid all of my changes. I never had any problems with it before the upgrade, even when I updated the Gems that Apple included in to more recent versions. Yet I am still worried.)
I'm considering leaving Apple's built in Ruby alone and installing a separate one, leading me to my second question:
Everywhere I read on the internet, people recommend using a Ruby version manager (rbenv, RVM, and the like) to install a separate Ruby environment. I feel like it would be easier, cleaner, and more straightforward to simply use homebrew, since I use it already, to install a ruby to /usr/local. What would be some problems with using homebrew instead of a dedicated Ruby version manager? What are the advantages of using a version manager over homebrew?
Don't mess w/your system Ruby, your system needs to be stable and it's not necessary.
Homebrew isn't made to manage multiple versions of software. RVM (and others) and made to do exactly that. I currently have 6 rubies installed. I'd hate to have to manage that manually. RVM (or friends) is the way to go if you are installing Ruby on your host. People often go to the next level and use Vagrant instances to further isolate their development environment.
IMHO the most important reason to use a version manager is to be able to run multiple different versions of Ruby on the same machine e.g. to test gems with different versions or to run several (legacy and new) applications on the same development computer. Rbenv or RVM makes this easy, Homebrew doesn't support this...
I'm looking on ways to deploy a ruby on rails 4 app built on windows 7 box. I'm looking to use Heroku at the moment.
Can you please provide any pointers regarding heroku or any other easier and cheaper deployment options available out there..
Any issues That I may face due to the difference in OS in the dev environment (windows) and the deployment environment (linux on heroku)?
This is my first professional app, so any pointers will be helpful for now and also for future applications that I may work on.
Also what is the more preferred OS for ruby on rails development ?
Thanks in Advance!
You probably won't face any issues with deployment on Heroku. Heroku is the easiest option out there (albeit one of the priciest once you're off the free tier)
What's more likely to happen on Windows is that you'll find it hard to build certain gems for development, and cutting edge releases will probably not work well.
Much better to pick up a Linux distro for this.
You can also check out bluemix , which is also free for small projects. I know Heroku is not particularly windows friendly, not sure if bluemix is any better in that reguard, but it is extremely easy to deploy to.
Heroku has set of tools called heroku toolbelt, that makes easy to deploy apps to heroku. you can download heroku tool belt for windows from here
Generally you should be able to port any rails app you develop in windows to Linux/Mac, how ever since the ruby/rails community is largely built around Linux/Mac, responses/options to your issues regarding the rails apps will be low. and there are some gems which doesn't work on windows at all. So its best to move to either Mac/Linux if you are planing to continue on rails.
Once you come to Linux/mac world there are lots of providers much cheaper than heroku like DigitelOcean, however heroku would be the easiest for a beginner I believe.
HTH
One strategy you could try is to do the following:
Set up a VirtualBox or VMWare VM running Linux (Ubuntu would be a good candidate if you are not used to Linux).
Get your project into the VM and get the bundle install and everything working in Linux, you will probably find you need to make some changes in your Gemfile if you have anything windows specific there.
Install the Heroku tool-belt on the Linux VM and install to Heroku from there.
Taking the Windows / Linux transition pain on your local machine will make it much easier than Windows direct to Heroku.
Of course I know howto install RVM and maintain multiple versions that way, and since I'm a developer I have all the requirements on my own macs (things like xcode etc). Everything is working fine on my own machines.
But how should I distribute my nifty scripts to other mac-users that only have the default 1.8.7 version installed?
I want them to upgrade to 1.9 but I can't expect them to run shell-scripts, rvm (with all its external requirements) etc to be able to run my short 30-line scripts?
Is there a shortcut/tool available so I can get them to upgrade to Ruby 1.9?
Instead of forcing your users to upgrade Ruby, you could package your script into a standalone executable - see SO question on packaging Ruby scripts into Mac OS X applications
There are a few options for automatically setting up development environments.
Thoughtbot's laptop: Laptop is a shell script that turns your Mac OS X laptop into an awesome development machine.
Github's boxen: Automate the pain out of your development environment. Boxen installs your dependencies so you can focus on getting things done.
Pivotal Lab's Workstation: A cookbook of recipes for an OSX workstation.
Thoughtbot's laptop focuses on getting a well-chosen standard set of tools to work on your Mac (you can see which ones in the script).
Boxen seems to be more for teams trying to build their own replicable custom development environment.
I currently work in a LAMP environment and use XAMPP to setup my dev environment in Windows. Are there similar installers that package all of the essential and commonly-used Ruby development tools?
BitNami's RubyStack might be what you are looking for. It includes, in one simple installer, Ruby, Rails, Apache and MySQL. Available for Windows and other platforms.
I want to make a development server for Ruby. (I have done this for IIS and a LAMP set up, but am by no means proficient at it.) What will I need besides the actual server (which I already have)? And also any security issues? I know I could dev locally on my machine, but don't want to do that.
First off when doing ruby development the first thing to know is that it works best in a unix like environment, so mac os x, linux, solaris, bsd, etc...
Ruby libraries are distributed and packaged as gems. So you'll want to install ruby and install rubygems. Then from there on you use the gem command for installing ruby libraries.
I'm going to assume you're talking about doing web development with either ruby on rails 2.x or Merb 1.x. The two frameworks are merging in the next release and it'll be called Rails 3.0. So the answer here works for either one. I'm going to say Rails, but i mean Rails/Merb.
Rails development is done locally on your machine. So you'll need to install ruby and all the libraries you need locally. I know many people who use Windows end up using virtualization and running a linux environment for rails within their desktop windows box.
In development most people use an application server, Mongrel. In production the current standard is to use Apache 2 and Passenger.
With rails you're going to want to use source control. Most people today use git in the rails community, but it's possible to use subversion, perforce, or many other SCM's. To get your application from your source control to your staging and production systems, the rails community created an application called Capistrano. It handles deployments. You setup your server information, ssh keys, define access, and then you can release your application with a single command.
cap deploy
It's a pretty good system. Back several years ago now when i was working on odeo.com we had people using windows, linux, and mac's all for development with production deploys to debian linux. It wasn't intentional that our application be cross platform, it just worked out that way because we had people who wanted to add to it, including designers and biz types, who were on windows.
I highly recommend you check out http://guides.rubyonrails.com for more information.