专栏首页云计算教程系列如何在Ubuntu 18.04上使用rbenv安装Ruby on Rails
原创

如何在Ubuntu 18.04上使用rbenv安装Ruby on Rails

介绍

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

您可以使用命令行工具rbenv轻松安装Ruby和Rails 。使用rbenv将为您开发Ruby on Rails应用程序提供一个坚实的环境,因为它可以让您轻松切换Ruby版本,使您的整个团队保持相同的版本。

rbenv支持指定特定于应用程序的Ruby版本,允许您为每个用户更改全局Ruby,并允许您使用环境变量来覆盖Ruby版本。

本教程将引导您通过rbenv完成Ruby和Rails安装过程。

准备

要学习本教程,您需要:

  • 一个Ubuntu 18.04服务器,包括一个具有 sudo 权限的非root用户和防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器
  • 安装Node.js,您可以参考云加社区专栏文章进行安装配置。一些Rails功能(例如Asset Pipeline)依赖于JavaScript运行时,Node.js提供此功能。

第一步 - 安装rbenv和依赖项

Ruby依赖于几个可以通过包管理器安装的包。安装完成后,您可以安装rbenv并使用它来安装Ruby,

首先,更新您的包列表:

sudo apt update

接下来,安装安装Ruby所需的依赖项:

sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev

下载依赖项后,您可以自行安装rbenv。将rbenv存储库从GitHub克隆到目录~/.rbenv中:

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

接下来,添加~/.rbenv/bin到您的$PATH以便您可以使用rbenv命令行实用程序。通过更改~/.bashrc文件以便响应将来的登录会话来执行此操作:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

然后将命令~/.rbenv/bin/rbenv init添加到您的~/.basrc文件中,以便rbenv自动加载:

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

接下来,将您对~/.bashrc文件所做的更改应用于当前的shell会话:

 source ~/.bashrc

使用该type命令验证是否已正确设置rbenv,该命令将显示有关该rbenv命令的更多信息:

type rbenv

您的终端窗口将显示以下内容:

rbenv is a function
rbenv ()
{
    local command;
    command="${1:-}";
    if [ "$#" -gt 0 ]; then
        shift;
    fi;
    case "$command" in
        rehash | shell)
            eval "$(rbenv "sh-$command" "$@")"
        ;;
        *)
            command rbenv "$command" "$@"
        ;;
    esac
}

接下来,安装ruby-build,插件。这个插件添加了rbenv install命令,简化了新版Ruby的安装过程:

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

此时,您已安装rbenv和ruby-build。让我们接下来安装Ruby。

第二步 - 使用ruby-build安装Ruby

现在安装了ruby-build插件,您可以通过简单的命令安装Ruby可能需要的版本。首先,让我们列出Ruby的所有可用版本:

rbenv install -l

该命令的输出应该是您可以选择安装的一长串版本。

让我们安装Ruby 2.5.1:

rbenv install 2.5.1

安装Ruby可能是一个漫长的过程,因此安装需要一些时间来完成。

安装完成后,使用global子命令将其设置为我们的默认版本的Ruby :

rbenv global 2.5.1

通过检查其版本号来验证Ruby是否已正确安装:

ruby -v

如果你安装了2.5.1版本的Ruby,你对上面命令的输出应该如下所示:

ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

要安装和使用不同版本的Ruby,请运行rbenv具有不同版本号的命令,如rbenv install 2.3.0rbenv global 2.3.0

您现在已经安装了至少一个版本的Ruby,并设置了您的默认Ruby版本。接下来,我们将设置gems和Rails。

第三步 - 使用Gems

Gems是Ruby库的分布方式。您可以使用该gem命令来管理这些gems。我们将使用此命令安装Rails。

安装gem时,安装过程会生成本地文档。这可能会为每个gem的安装过程增加大量时间,因此请通过创建一个包含配置设置以关闭此功能的~/.gemrc文件来关闭本地文档生成:

echo "gem: --no-document" > ~/.gemrc

Bundler是一个管理项目的gem依赖项的工具。接下来安装Bundler gem。因为Rails依赖于它。

gem install bundler

你会看到这样的输出:

Fetching: bundler-1.16.2.gem (100%)
Successfully installed bundler-1.16.2
1 gem installed

您可以使用该gem env命令(子命令envenvironment的简称)来了解有关gem的环境和配置的更多信息。您可以使用home参数查看gems的安装位置,如下所示:

gem env home

您将看到类似于此的输出:

/home/sammy/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0

设置好gems后,即可安装Rails。

第四步 - 安装Rails

要安装最新版本的Rails,请使用gem install命令:

gem install rails

gem命令将安装您指定的gem以及每个依赖项。Rails是一个复杂的Web开发框架,具有许多依赖关系,因此该过程需要一些时间才能完成。最终,您将看到一条消息,指出已安装Rails。及其依赖:

...
Successfully installed rails-5.2.0
38 gems installed

注意:如果您想安装特定版本的Rails,可以通过搜索列出Rails的有效版本,这将输出一长串可能的版本。然后我们可以安装特定版本,例如4.2.7:

gem search '^rails$' --all
gem install rails -v 4.2.7

rbenv的工作原理是创建一个shims目录,它指向当前启用的Ruby版本使用的文件。通过rehash子命令,rbenv在该目录中维护填充程序,以匹配服务器上每个已安装的Ruby版本的每个Ruby命令。每当你安装新版本的Ruby或提供命令的gem(如Rails)时,你应该运行:

rbenv rehash

使用以下命令打印其版本,验证是否已正确安装Rails:

rails -v

如果安装正确,您将看到已安装的Rails版本:

Rails 5.2.0

此时,您可以开始测试Ruby on Rails安装并开始开发Web应用程序。让我们看看保持rbenv最新。

第五步 - 更新rbenv

由于您使用Git手动安装了rbenv,因此您可以使用~/.rbenv目录中的git pull命令随时将安装升级到最新版本:

cd ~/.rbenv
git pull

这将确保我们使用最新版本的rbenv。

第六步 - 卸载Ruby版本

当您下载其他版本的Ruby时,您可能会累积比~/.rbenv/versions目录中更多的版本。使用ruby-build插件的' uninstall子命令删除这些以前的版本。

例如,输入以下命令将卸载Ruby版本2.1.3:

rbenv uninstall 2.1.3

使用该rbenv uninstall命令,您可以清除旧版本的Ruby,以便您没有比当前使用的更多安装。

第七步 - 卸载rbenv

如果您已经决定不再使用rbenv,则可以将其从系统中删除。

为此,首先在编辑器中打开~/.bashrc文件:

nano ~/.bashrc

在文件中查找并删除以下两行:

...
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

保存文件并退出编辑器。

然后使用以下命令删除rbenv和所有已安装的Ruby版本:

 rm -rf `rbenv root`

注销并重新登录以将更改应用到shell。

结论

在本教程中,您安装了rbenv 、Ruby及Rails 。从此,您可以了解有关使这些环境更加强大的更多信息。

想要了解更多关于Ubuntu的开源信息教程,请前往腾讯云+社区学习更多知识。

参考文献:《How To Install Ruby on Rails with rbenv on Ubuntu 18.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Debian 9上安装Anaconda Python发行版

    Anaconda是一个开源包管理器,环境管理器,以及Python和R编程语言的发行版。它专为数据科学和机器学习工作流程而设计,通常用于大规模数据处理,科学计算和...

    司徒永哥
  • 如何在Ubuntu 18.04上使用HTTP / 2支持设置Nginx

    Nginx是一个快速可靠的开源Web服务器。由于其低内存占用,高可扩展性,易于配置以及对各种协议的支持,它获得了普及。

    司徒永哥
  • 如何使用GPG加密和签名邮件

    GPG或GNU Privacy Guard是一种公钥加密实现。这允许在各方之间安全地传输信息,并且可以用于验证消息的来源是真实的。

    司徒永哥
  • 在CVM上使用rbenv安装RoR

    Ruby on Rails(官方简称为Rails,亦被简称为RoR),是一个使用Ruby语言写的开源Web应用框架,它是严格按照MVC结构开发的。它努力使自身保...

    八十岁的背影
  • 如何在 CentOS 8 上安装 Ruby

    Ruby 是当今最流行的语言之一。它有简洁的语法,并且是 Ruby on Rails 框架后面的语言。

    雪梦科技
  • 网络基础 Windows下安装和配置net-snmp 代理

    ActivePerl-5.10.0.1004-MSWin32-x86-287188.msi(Perl安装程序), net-snmp-5.4.2.1-1.win3...

    授客
  • 美国科学家研究出无需训练的神经网络,能帮助机器像人类一样思考

    原标题:美国科学家研究出无需训练的神经网络,能帮助机器像人类一样思考 近日,由密歇根大学电气工程和计算机科学教授 Wei Lu 研究团队在《自然·通信》上发表了...

    企鹅号小编
  • Android开发环境的搭建

    前言: 作为一个Android开发的新手,光开发环境就差点搭建了一天,最后发现自己走了很多弯路,在此写出希望能够帮助想入门的朋友。先说一下,开发Android ...

    用户1215536
  • 新型神经网络系统:由忆阻器制成,效率更高!

    导读 美国密歇根大学开发出由忆阻器制成的神经网络系统,也称为储备池计算系统。它教会机器像人类一样思考,并显著提升效率。 背景 神经网络,是一种应用类似于大脑神经...

    企鹅号小编
  • WinSock2 API

    title: WinSock2 API tags: [WinSock, 网络编程, WinSock2.0 API, 动态加载, WinSock 异步函数] ...

    Masimaro

扫码关注云+社区

领取腾讯云代金券