如何在Ubuntu16.04上使用RVM安装RubyonRails

来自菜鸟教程
跳转至:导航、​搜索

介绍

对于希望创建网站和 Web 应用程序的开发人员来说,Ruby on Rails 是最受欢迎的应用程序堆栈之一。 Ruby 编程语言与 Rails 开发框架相结合,使应用程序开发变得简单。

您可以使用命令行工具 RVM(Ruby 版本管理器)轻松安装 Ruby 和 Rails。 RVM 还允许您管理和使用多个 Ruby 环境,并允许您在它们之间切换。 项目存储库位于 [GitHub] (https://github.com/rvm/rvm)。

在本指南中,我们将在 Ubuntu 16.04 服务器上安装 RVM,然后使用它来安装 Ruby 和 Rails 的稳定版本。

    1. 先决条件

本教程将带您通过 RVM 完成 Ruby on Rails 安装过程。 To follow this tutorial, you need an Ubuntu 16.04 server with a [non-root user] (initial-server-setup-with-ubuntu-16-04).

##安装

使用 RVM 安装 Ruby on Rails 的最快方法是以普通用户身份运行以下命令。 作为安装过程的一部分,系统将提示您输入常规用户的密码。

首先,我们将使用 gpg 命令联系公钥服务器并请求与给定 ID 关联的密钥。 在这种情况下,我们请求 RVM 项目的密钥,用于签署每个 RVM 版本。 拥有 RVM 项目的公钥允许我们验证我们将下载的 RVM 版本的合法性,该版本使用匹配的私钥签名。

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

现在让我们进入一个可写位置,例如 /tmp 目录,然后将 RVM 脚本下载到一个文件中:

cd /tmp

我们将使用 curl 命令从项目网站下载 RVM 安装脚本。 引导命令的反斜杠确保我们使用的是常规的 curl 命令,而不是任何更改的别名版本。

我们将附加 -s 标志以指示实用程序应与 -S 标志一起在静默模式下运行以覆盖其中的一些标志,以允许 curl 在失败时输出错误. -L 标志告诉实用程序遵循重定向,最后 -o 标志指示将输出写入文件而不是标准输出。

将所有这些元素放在一起,我们的完整命令将如下所示:

curl -sSL https://get.rvm.io -o rvm.sh

下载后,如果您想在应用之前审核脚本的内容,请运行:

less /tmp/rvm.sh

Then we can [pipe] (an-introduction-to-linux-i-o-redirection#pipes) it to bash to install the latest stable Rails version which will also pull in the associated latest stable release of Ruby.

cat /tmp/rvm.sh | bash -s stable --rails

在安装过程中,系统会提示您输入常规用户的密码。 安装完成后,从安装目录获取 RVM 脚本,该目录通常位于 home/username 目录中。

source /home/sammy/.rvm/scripts/rvm

您现在应该配置了一个完整的 Ruby on Rails 环境。

    1. 安装特定的 Ruby 和 Rails 版本

如果您需要为您的应用程序安装特定版本的 Ruby,而不仅仅是最新版本,您可以使用 RVM 来完成。 首先,通过列出它们来查看可用的 Ruby 版本:

rvm list known

然后,通过 RVM 安装您需要的特定版本的 Ruby,例如,其中 ruby_version 可以键入为 ruby-2.3.0,或者只是 2.3.0

rvm install ruby_version

安装后,我们可以通过键入以下内容列出已安装的可用 Ruby 版本:

rvm list

我们可以通过键入以下内容在 Ruby 版本之间切换:

rvm use ruby_version

由于 Rails 是一个 gem,我们还可以使用 gem 命令安装各种版本的 Rails。 让我们首先通过搜索列出 Rails 的有效版本:

gem search '^rails$' --all

接下来,我们可以安装我们需要的 Rails 版本。 请注意,rails_version 仅指版本号,如 4.2.7

gem install rails -v rails_version 

我们可以通过创建 gemsets 然后使用普通的 gem 命令在其中安装 Rails 来为每个 Ruby 使用各种 Rails 版本:

rvm gemset create gemset_name # create a gemset
rvm ruby_version@gemset_name  # specify Ruby version and our new gemset

gemsets 允许我们拥有自包含的 gems 环境,并允许我们为我们安装的每个版本的 Ruby 拥有多个环境。

    1. 安装 JavaScript 运行时

一些 Rails 功能,例如资产管道,依赖于 JavaScript 运行时。 我们将通过 apt-get 安装 Node.js 以提供此功能。

就像我们对 RVM 脚本所做的那样,我们可以移动到一个可写目录,通过将 Node.js 脚本输出到一个文件来验证它,然后使用 less 读取它:

cd /tmp
\curl -sSL https://deb.nodesource.com/setup_6.x -o nodejs.sh
less nodejs.sh

一旦我们对 Node.js 脚本感到满意,我们就可以安装 NodeSource Node.js v6.x 存储库:

cat /tmp/nodejs.sh | sudo -E bash -

此处使用的 -E 标志将保留用户现有的环境变量。

现在我们可以更新 apt-get 并使用它来安装 Node.Js:

sudo apt-get update
sudo apt-get install -y nodejs

此时,您可以开始测试您的 Ruby on Rails 安装并开始开发 Web 应用程序。

    1. 了解更多

我们在这里介绍了如何安装 RVM 和 Ruby on Rails 的基础知识,以便您可以使用多个 Ruby 环境。 For your next steps, you can learn more about [working with RVM and how to use RVM to manage your Ruby installations] (how-to-use-rvm-to-manage-ruby-installations-and-environments-on-a-vps). For more scalability, centralization, and control in your Ruby on Rails application, you may want to use it with [PostgreSQL] (how-to-use-postgresql-with-your-ruby-on-rails-application-on-ubuntu-14-04) or [MySQL] (how-to-use-mysql-with-your-ruby-on-rails-application-on-ubuntu-14-04) rather than its default sqlite3 database. As your needs grow, you can also learn how to [scale Ruby on Rails applications across multiple servers] (how-to-scale-ruby-on-rails-applications-across-multiple-droplets-part-1).