如何在Ubuntu18.04上使用RVM安装RubyonRails
介绍
Ruby on Rails 是一种流行的 Web 应用程序框架,旨在帮助您在编写更少代码的同时开发成功的项目。 Ruby on Rails 旨在让 Web 开发变得有趣并得到强大社区的支持,它是一款免费使用的开源软件,欢迎大家做出贡献以使其变得更好。
命令行工具 RVM(Ruby Version Manager)为您提供了坚实的开发环境。 RVM 将允许您管理和使用多个 Ruby 环境,并允许您在它们之间切换。 项目存储库位于 git 存储库 中。
本教程将带您完成 Ruby 和 Rails 安装过程并通过 RVM 进行设置
先决条件
本教程将带您通过 RVM 完成 Ruby on Rails 安装过程。 要学习本教程,您需要一个在 Ubuntu 18.04 服务器上具有 sudo 权限的非 root 用户。
要了解如何实现此设置,请按照我们的 手动初始服务器设置指南 或运行我们的 自动化脚本 。
安装
使用 RVM 安装 Ruby on Rails 的最快方法是运行以下命令。
我们首先需要将 GPG(代表 GNU Privacy Guard)更新到最新版本,以便联系公钥服务器并请求与给定 ID 关联的密钥。
sudo apt install gnupg2
我们在这里使用具有 sudo
权限的用户进行更新,但其余命令可以由普通用户完成。
现在,我们将请求 RVM 项目的密钥来签署每个 RVM 版本。 拥有 RVM 项目的公钥允许我们验证我们将下载的 RVM 版本的合法性,该版本使用匹配的私钥签名。
gpg2 --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 环境。
安装特定的 Ruby 和 Rails 版本
如果您需要为您的应用程序安装特定版本的 Ruby,而不仅仅是最新版本,您可以使用 RVM 来完成。 首先,通过列出它们来查看可用的 Ruby 版本:
rvm list known
然后,通过 RVM 安装您需要的特定版本的 Ruby,例如,其中 ruby_version
可以键入为 ruby-2.4.0
,或者只是 2.4.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
仅指版本号,如 5.1.6
。
gem install rails -v rails_version
我们可以通过创建 gemsets,然后使用普通的 gem
命令在其中安装 Rails,来为每个 Ruby 使用各种 Rails 版本。
要创建一个 gemset,我们将使用:
rvm gemset create gemset_name
要在创建 gemset 时指定要使用的 Ruby 版本,请使用:
rvm ruby_version@gemset_name --create
gemsets 允许我们为 gems 提供自包含的环境,并为我们安装的每个版本的 Ruby 提供多个环境。
安装 JavaScript 运行时
一些 Rails 功能,例如资产管道,依赖于 JavaScript 运行时。 我们将使用易于提供此功能的包管理器安装 Node.js。
就像我们对 RVM 脚本所做的那样,我们可以移动到一个可写目录,通过将 Node.js 脚本输出到一个文件来验证它,然后使用 less
读取它:
cd /tmp \curl -sSL https://deb.nodesource.com/setup_10.x -o nodejs.sh less nodejs.sh
一旦我们对 Node.js 脚本感到满意,我们就可以安装 NodeSource Node.js v10.x 存储库:
cat /tmp/nodejs.sh | sudo -E bash -
此处使用的 -E
标志将保留用户现有的环境变量。
现在我们可以更新 apt 并使用它来安装 Node.js:
sudo apt update sudo apt install -y nodejs
此时,您可以开始测试您的 Ruby on Rails 安装并开始开发 Web 应用程序。
如何卸载 RVM
如果您不再希望使用 RVM,您可以通过首先删除 .bashrc
文件中的脚本调用,然后删除 RVM 文件来卸载它。
首先,使用 nano 之类的文本编辑器删除脚本调用:
nano ~/.bashrc
向下滚动到您看到文件的 RVM 行的位置:
~/.bashrc
... # Add RVM to PATH for scripting. Make sure this is the last PATH variable change. export PATH="$PATH:$HOME/.rvm/bin"
删除这些行,然后保存并关闭文件。
接下来,使用以下命令删除 RVM:
rm -rf ~/.rvm
此时,您不再拥有
结论
我们在这里介绍了如何安装 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).
如果您是 Ruby 新手,可以按照我们的 How To Code in Ruby 教程系列学习 Ruby 编程。
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).