Case StudiesBlogAbout Us
Get a proposal

Tutorial on how to install Ruby, Ruby on Rails and how to use Ruby Gems

Jan Grela

Mar 20, 20206 min read

Ruby on RailsBack-end developmentComputer programming

Table of Content

  • How to install Ruby on Mac?

    • rbenv

    • rvm

  • How to install Ruby on Windows?

    • Ruby installation check

  • What is RubyGems?

  • How to use Ruby Gems?

    • Gems install / uninstall

    • Gems update

    • Gems list

  • Ruby Bundler

    • Install Bundler and specify gems for the project

    • Install gems with Bundler

    • Update gems with Bundler

  • How to use Ruby on Rails?

    • Install Rails

    • New Rails application

  • How to set up a Ruby on Rails development environment?

  • Where to go next?

You already heard about Ruby on Rails and how easy it is to quickly develop working applications. However, the process of creating new software requires a few building blocks and understanding how to handle them efficiently.

The first step is, of course, installing Ruby itself. As the number of your projects will surely quickly increase, managing multiple variants of Ruby can become quite unpleasant. To help with that, the open source community prepared multiple version managers, with most popular ones being rbenv and rvm.

How to install Ruby on Mac?

Both rvm and rbenv are available for MacOS and popular Linux distributions, so the whole process comes down to pasting a few command lines into the console.

rbenv

1. With Homebrew installed, run init in your Terminal (and if you don’t have it, you can install rbenv with GitHub checkout):

$ brew install rbenv

2. After it is done, type:

$ rbenv init

3. This will prompt a guide on how to set up the shell. Usually, it’s enough to just add one line to .zshrc or .bash_profile:

$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc

4. Now everytime Terminal is opened, rbenv should be up and ready to work.

$ source  ~/.zshrv

5. Finally, it’s time to install actual Ruby. Now it’s as simple as the providing version number after the install command:

$ rbenv install 2.7.0
$ rbenv global 2.7.0

6. To set the local version to use, just type in:

$ rbenv local 2.7.0

rvm

If you have already installed Ruby using rbenv, your work is complete. Rvm is an alternative tool to do the same thing and generally it’s not a good idea to use them both at the same time — besides, there really is no point.

Installing rvm is quite similar to rbenv, and again, there are only few commands that need to be run in the console:

1. Let’s start with adding PGP keys:

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

2. Then fetching rvm and installing the latest version of Ruby just after that:

$ curl -sSL https://get.rvm.io | bash -s stable --ruby

3. Different versions of Ruby can be quickly downloaded and installed with the install command, just like so:

$ rvm install 2.7.0

It’s important to mention that in your project directory, you can create a .ruby-version file (simple text file with the Ruby version number). Based on this file both rbenv and rvm will try to use the proper Ruby version or will prompt installing the missing one.

How to install Ruby on Windows?

If you are using Windows, the best option is to use RubyInstaller. Just get the .exe file for the desired Ruby version and start the installation. RubyInstaller can be combined with MSYS2 (a port of the Unix development toolset) and MinGW libraries, providing a great development environment.

Ruby installation check

After installation, you can check version with:

$ ruby -v

And see where the interpreter is located:

$ which ruby

Ruby is an interpreted programming language. To run the code, it’s enough to just point to the .rb file and hit execute:

$ ruby app.rb

Along with the interpreter comes the Interactive Ruby Shell (irb) which executes Ruby commands as you type them in real time:

$ irb
irb(main):001:0> 2+2
=> 4

What is RubyGems?

The standard Ruby installation comes with Ruby Core API and Standard Library API, which are used to write Ruby applications. A simple application could be written from scratch using those APIs, but when it comes to something more complex, it is best to use Ruby packages provided in the Package Manager. Ruby has one called RubyGems and the packages are called gems

RubyGems comes with a command-line utility called a gem. It installs gems from specified public or private repositories. Another thing worth mentioning is https://rubygems.org/, which hosts many gems from the Ruby community. Typically, a gem delivers new libraries with particular functionalities and, sometimes, command-line tools. 

RubyGems comes with the standard Ruby installation, so there’s no need to install anything else.

How to use Ruby Gems?

Let’s see how to work with gems. This command will print the RubyGems settings with info where the gems are installed:

$ gem env

Gems install / uninstall

To install and uninstall gems, type:

$ gem install gem_name (-v version to specify gem version)
$ gem uninstall gem_name

Gems update

To update specific gem, run:

$ gem update gem_name

Or all gems:

$ gem update

Gems list

Gems are installed in a local repository. To list installed gems type:

$ gem list

While installing gems all dependencies are installed along with the gem.

Ruby Bundler

During project development you can discover that your project requires more and more gems. Installing them all manually with the gem command would be difficult if not impossible to match all dependencies. There is a smart tool that is used to manage all gems in a project — the Bundler.

Install Bundler and specify gems for the project

It comes as a gem, so first install it:

$ gem install bundler

Then create a Gemfile in your project root directory with the content:

source ‘https://rubygems.org’ gem ‘rails’, ’6.0.2.1’ gem ‘rspec’

Install gems with Bundler

To install, type:

$ bundle install

It will install all the gems with the specified version and their dependencies. If you want to use another gem in your project, then add it to the Gemfile and run the bundle install again.

Update gems with Bundler

If you want to update some gems for your project, change the version in the Gemfile and again, run:

$ bundle install

To update specific gem, run:

$ bundle update gem_name

Or for all gems:

$ bundle update

In either case, Bundler will resolve the dependencies.

How to use Ruby on Rails?

After all the installations and settings it’s time to start a new Ruby on Rails project and set up a couple of things. 

Install Rails

No surprise here — Rails comes with a gem:

$ gem install rails

It will install the newest Rails with some other gems Rails depends on. Rails itself has a command-line utility which could be used to create a new Ruby on Rails application.

Check the version and help messages which describe options for creating a new app.

$ rails -v
$ rails -h

New Rails application

To create a Rails project type with default options:

$ rails new my_amazing_rails_app

That command will generate the whole project structure under my_amazing_rails_app directory. You will see the output of creating application files and then Bundler will install all dependencies from the newly created Gemfile. 

Next, enter my_amazing_rails_app directory and start a  Rails server.

$ cd my_amazing_rails_app
$ rails server

This will run a web server Puma, which is used by Rails applications by default. The default port is 3000. Go to your browser and enter http://localhost:3000 and you should see Rails welcome page.

How to set up a Ruby on Rails development environment?

The default database used by Rails is SQLite. If you want to use different DB from the beginning, you can provide the DB from the following option:

$ rails new my_amazing_rails_app —database postgresql

The database configuration is located in the config/database.yml file. Rails runs the application within the specified environment (for starting app locally environment called “development” is used as default). To provide your DB settings, edit the development settings in config/database.yml. 

Another often used option is api, which configures the application with limited middleware, only for API-like applications.

$ rails new my_amazing_rails_app —api

Rails generates a lot of files. In the app directory, you will find the main files for the application. As Rails was created following the MVC (Model-View-Controller) pattern, you will find there are files for models, controllers and views in appropriate directories. In the config directory, you will find configuration files for the application, environments, the database, routes, etc. In the db directory, you will find the DB schema and migration files.

Where to go next?

There are many of Rails tutorials and guides. Just to mention one https://guides.rubyonrails.org/, which describes most of Rails features with examples. Ruby and Rails APIs are well documented. Just create a new app, create a model, a controller and a view for it, and you might fall in love with Rails!

If you are interested in Ruby on Rails development, read our article to find out why it’s worth learning Ruby on Rails.

Published on March 20, 2020

Share


Jan Grela

Ruby on Rails Developer

Digital Transformation Strategy for Siemens Finance

Cloud-based platform for Siemens Financial Services in Poland

See full Case Study
Ad image
Ruby on Rails - guide
Don't miss a beat - subscribe to our newsletter
I agree to receive marketing communication from Startup House. Click for the details

You may also like...

Node.js developers building scalable backend services for modern web applications
Node.jsBack-end developmentProgressive Web Apps

Node.js Development Service

Node.js enables fast, scalable, and real-time applications. Our Node.js development services help businesses build secure, high-performance backends designed for growth.

Alexander Stasiak

Feb 05, 202610 min read

Demystifying Procedural Programming: Simple Examples for All
Computer programmingDigital products

Demystifying Procedural Programming: Simple Examples for All

Explore procedural programming with easy-to-follow examples and insights into its core principles. Learn how this step-by-step approach forms the basis of many programming paradigms.

Marek Pałys

Jul 05, 202410 min read

Business team collaborating with external outsourcing partner for growth strategy
Digital productsRuby on Rails

Understanding the Basics: BaseModel vs ActiveRecord Validator in Rails

BaseModel and ActiveRecord Validator are essential tools in Rails for ensuring data integrity. While BaseModel centralizes complex shared logic, ActiveRecord Validator offers straightforward, built-in validation for individual attributes. Discover their differences and when to use each for efficient Rails development.

Marek Pałys

Oct 10, 20248 min read

UX designer working on SaaS application interface for scalability
Ruby on RailsDigital products

The Ultimate Guide to Ecommerce Platforms Built on Ruby on Rails

Ruby on Rails powers some of the best ecommerce platforms, offering efficiency, scalability, and flexibility for online stores. This guide covers top Rails ecommerce platforms, their features, and how they simplify ecommerce development. Build your online store with the power of Ruby on Rails.

Alexander Stasiak

Oct 08, 20248 min read

Custom software solutions driving SME growth
Ruby on RailsDigital products

A Beginner's Guide to Building E-commerce Sites with Ruby on Rails

Ruby on Rails simplifies the process of building an e-commerce site, making it accessible even for beginners. This guide provides step-by-step instructions on setting up your development environment, managing products, integrating payment gateways, and enhancing user experience. Whether you're new to web development or looking to refine your skills, this guide will help you create a successful online store with Ruby on Rails.

Marek Pałys

Aug 13, 20245 min read

What is Backend as a Service (BaaS)?
Back-end developmentDigital products

What is Backend as a Service (BaaS)?

Backend as a Service (BaaS) streamlines application development by handling backend functions such as database management, user authentication, and hosting. This allows developers to focus on front-end design and user experience, making it a popular choice for startups and small teams. Discover how BaaS can enhance your development process by reducing complexity and accelerating deployment.

Marek Majdak

Aug 02, 20245 min read

Recently added

A cloud operations team monitoring infrastructure health, resource provisioning, and security dashboards across multiple screens
Cloud OptimizationFinOpsInfrastructure

Cloud Infrastructure Management

What it takes to run cloud infrastructure that's scalable, secure, and cost-efficient — the core pillars, FinOps, AI-driven ops, and how to pick a partner.

Alexander Stasiak

Jun 12, 20268 min read

A compliance dashboard displaying SOC2, ISO 27001, GDPR, and HIPAA controls with real-time drift detection in a cloud environment
GDPR complianceSOC2Cloud Compliance

Cloud Security Compliance

A step-by-step path to SOC2, ISO 27001, GDPR, and HIPAA in the cloud — including the move to compliance-as-code for scaling safely.

Alexander Stasiak

Jun 09, 202610 min read

A solar farm with PV panel rows under a clear sky overlaid with a translucent analytics dashboard showing performance ratio, irradiance forecasts, and fault-detection alerts
Data Analysis Renewable energy optimizationPredictive Analytics

Data Analytics in Solar Energy

Global solar PV capacity passed 1,500 GW in 2025, and with hardware costs at historic lows, the next competitive edge isn't installing more panels — it's squeezing more value out of the ones already in the field. Modern solar plants generate millions of data points daily from SCADA, IoT sensors, weather APIs, and market feeds, but only operators with the right analytics layer convert that data into yield gains, lower O&M costs, and smarter market participation. This guide breaks down how data analytics is reshaping every stage of the solar lifecycle in 2026 — from site selection and design to predictive maintenance, grid integration, and financial modeling — with concrete benchmarks, KPIs, and implementation timelines.

Alexander Stasiak

May 03, 20268 min read

A smartphone screen displaying multiple value-added service icons — carbon tracking, smart home control, telemedicine, and AI assistant — layered above a banking app interface
Customer experienceFinancial TechnologyFintech

Value-Added Services (VAS) Examples

By 2026, most core services — data plans, current accounts, cloud hosting — have become fully commoditized, and the companies winning customer loyalty aren't the ones cutting prices. They're the ones layering smart value-added services (VAS) on top: carbon footprint trackers in banking apps, smart-home bundles from ISPs, AI copilots inside SaaS platforms, and Amazon Prime-style subscriptions that turn one-time buyers into long-term subscribers. This guide breaks down concrete VAS examples across telecom, banking, retail, and SaaS, explains why operators offering VAS see up to 30% ARPU uplift, and gives you a practical 5-step framework to identify which value-added services will actually move the needle for your product.

Alexander Stasiak

May 01, 202611 min read

A developer working with an AI assistant interface that displays retrieved context sources, conversation memory, and connected tool integrations in a clean dark-mode dashboard
AI AgentsEnterprise AIEnterprise Innovation

AI Agents Use Cases 2026

AI agents are no longer a research demo — they're now reading customer history in real CRMs, monitoring thousands of transactions per second for fraud, drafting pull requests against production codebases, and rebalancing logistics fleets without human input. The shift from reactive chatbots to autonomous, tool-using, multi-step agents is why 2024–2026 marks the inflection point for enterprise adoption. This guide breaks down concrete AI agent use cases across customer service, sales and marketing, software engineering, finance, logistics, healthcare, HR, and retail — plus the architecture decisions, governance practices, and implementation tips that separate production-ready agents from clever prototypes.

Alexander Stasiak

Apr 29, 202611 min read

Architecture diagram of a real-time fraud detection system with streaming ingestion, feature store, model scoring, and decision engine
Tech LeadershipSoftware Engineering PracticesSoftware development

Tech Lead Roles and Responsibilities

The tech lead has become one of the most indispensable — and most misunderstood — roles in modern software teams. Often confused with engineering managers, tech leads are senior individual contributors who own technical direction, delivery quality, and team enablement, all while staying hands-on with code. This guide breaks down what the role actually entails in 2026: core responsibilities, essential skills, a realistic day-in-the-life, how the role differs across startups, enterprises, and agencies, and a practical roadmap for engineers ready to grow into it.

Alexander Stasiak

Apr 28, 202612 min read

Ready to centralize your know-how with AI?

Start a new chapter in knowledge management—where the AI Assistant becomes the central pillar of your digital support experience.

Book a free consultation

Work with a team trusted by top-tier companies.

Rainbow logo
Siemens logo
Toyota logo

We build what comes next.

Company

Startup Development House sp. z o.o.

Aleje Jerozolimskie 81

Warsaw, 02-001

VAT-ID: PL5213739631

KRS: 0000624654

REGON: 364787848

Contact Us

hello@startup-house.com

Our office: +48 789 011 336

New business: +48 798 874 852

Follow Us

Award
logologologologo

Copyright © 2026 Startup Development House sp. z o.o.

EU ProjectsPrivacy policy