介绍
Ruby on Rails是一个流行的Web应用程序框架,旨在帮助您开发成功的项目,同时编写更少的代码。 为了使Web开发变得有趣并且受到强大社区的支持,Ruby on Rails是一个可以免费使用的开源软件,并且欢迎贡献以使其更好。
命令行工具RVM ( R uby V ersion M anager)为您提供了可靠的开发环境。 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
然后我们可以将它传递给bash
以安装最新的稳定Rails版本,该版本还将引入相关的最新稳定版本的Ruby。
cat /tmp/rvm.sh | bash -s stable --rails
在安装过程中,系统可能会提示您输入常规用户的密码。 安装完成后,从安装目录中获取RVM脚本,这些脚本通常位于您的home/ username
目录中。
source /home/sammy/.rvm/scripts/rvm
您现在应该配置完整的Ruby on Rails环境。
安装特定的Ruby和Rails版本
如果您需要为您的应用程序安装特定版本的Ruby,而不仅仅是最新版本的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允许我们为Gem提供自包含的环境,并为我们安装的每个Ruby版本提供多个环境。
安装JavaScript运行时
一些Rails功能(例如Asset Pipeline)依赖于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 repo:
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行的位置:
...
# 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环境。
在接下来的步骤中,您可以了解有关使用RVM以及如何使用RVM管理Ruby安装的更多信息 。
如果您是Ruby的新手,可以通过遵循Ruby教程系列中的How To Code来学习Ruby编程。
为了在Ruby on Rails应用程序中实现更多可伸缩性,集中化和控制,您可能希望将它与PostgreSQL或MySQL一起使用,而不是使用默认的sqlite3数据库。 随着您的需求增长,您还可以学习如何跨多个服务器扩展Ruby on Rails应用程序 。