Before you can even think of writing your first line of Ruby code there is a handful of tasks you have to account for:
- Probably with a version manager to run Rubies in parallel and enable easy switching of different versions.
- Spinning up one or more database systems.They will eat up your machine's resources, even when you are not using them for development.
- Managing application servers with shell commands.Keeping track of PIDs and sending signals manually is not much fun.
- Simulating two or more apps communicating over the network or using a local JSON backend.
- Across different developing machines, operating systems and your team of developers.
- Keep gem versions consistent.Make sure each developer uses exactly the exact same set of gem dependencies.
Depending on the complexity of your project, this can lead to managing your environment needing more attention than working on your actual application.
Do not waste too much time on your development environment — rethink your workflow and concentrate more on building awesome Rails applications instead.