分类
文章

如何在ubuntu 18 04 上安装ruby on rails和rbenv

介绍

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

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

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

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

先决条件

要遵循本教程,您需要:

步骤1 –安装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。将GitHub的rbenv存储库克隆到目录~/.rbenv :

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

接下来,将~/.rbenv/bin添加到$PATH以便可以使用rbenv命令行实用程序。为此,请更改~/.bashrc文件,以使其影响以后的登录会话:

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

然后将命令eval "$(rbenv init -)"到您的~/.bashrc文件中,以便rbenv自动加载:

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

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

  • source ~/.bashrc

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

  • type rbenv

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

Outputrbenv 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。

第2步–使用ruby-build安装Ruby

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

  • rbenv install -l

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

让我们安装Ruby 2.5.1 :

  • rbenv install 2.5.1

安装Ruby可能是一个漫长的过程,因此请做好准备,以完成安装过程。

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

  • rbenv global 2.5.1

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

  • ruby -v

如果您安装了Ruby 2.5.1版,则上述命令的输出应如下所示:

Outputruby 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。

步骤3 —使用Gems

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

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

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

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

  • gem install bundler

您将看到如下输出:

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

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

  • gem env home

您将看到类似于以下的输出:

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

一旦设置好gem,就可以安装Rails。

步骤4 –安装Rails

要安装Rails,请使用gem install命令以及-v标志来指定版本。在本教程中,我们将使用版本5.2.0 :

  • gem install rails -v 5.2.0

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

Output...
Successfully installed rails-5.2.0
38 gems installed

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

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

如果要安装最新版本的Rails,请在不指定版本的情况下运行命令:

  • gem install rails

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

  • rbenv rehash

使用以下命令,通过打印Rails版本来验证Rails已正确安装:

  • rails -v

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

OutputRails 5.2.0

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

步骤5 –更新rbenv

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

  • cd ~/.rbenv
  • git pull

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

步骤6 –卸载Ruby版本

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

例如,键入此命令将卸载Ruby版本2.1.3 :

  • rbenv uninstall 2.1.3

使用rbenv uninstall命令,您可以清理Ruby的旧版本,以便安装的数量不超过当前使用的数量。

步骤7 –卸载rbenv

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

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

  • nano ~/.bashrc

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

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

保存文件并退出编辑器。

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

 rm -rf `rbenv root`

注销并重新登录以将更改应用于您的shell。

结论

在本教程中,您安装了rbenv和Ruby on Rails。从这里,您可以了解有关使这些环境更加健壮的更多信息。

探索如何在PostgreSQLMySQL而不是默认的sqlite3数据库中使用Ruby on Rails,后者为您的应用程序提供了更大的可伸缩性,集中性和稳定性。随着需求的增长,您还可以学习如何在多个服务器上扩展Ruby on Rails应用程序

发表评论

电子邮件地址不会被公开。 必填项已用*标注