当前位置:首页 » 《我的小黑屋》 » 正文

在Ubuntu 16.04上使用rbenv安装Ruby on Rails的方法

25 人参与  2024年09月22日 18:40  分类 : 《我的小黑屋》  评论

点击全文阅读


前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

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

您可以使用命令行工具 rbenv 轻松安装 Ruby 和 Rails。使用 rbenv 将为您提供一个稳定的环境,用于开发 Ruby on Rails 应用程序,因为它可以让您轻松切换 Ruby 版本,保持整个团队使用相同的版本。该项目存储库位于 [GitHub] (https://github.com/rbenv/rbenv)。

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

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

先决条件

要按照本教程操作,您需要:

一个安装了 [非 root 用户] (https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04) 的 Ubuntu 16.04 服务器。使用官方 PPA 安装了 Node.js,如在《在 Ubuntu 16.04 上安装 Node.js》中所述。一些 Rails 功能(如 Asset Pipeline)依赖于 JavaScript 运行时。Node.js 提供了这种功能。

更新和安装依赖项

首先,我们应该更新 apt-get,因为这是我们在本次会话中第一次使用 apt。这将确保本地软件包缓存已更新。

sudo apt-get update

接下来,让我们使用 apt-get 安装 rbenv 和 Ruby 所需的依赖项:

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

一旦我们安装了所有必需的系统依赖项,我们就可以继续安装 rbenv 本身。

安装 rbenv

现在我们准备安装 rbenv。让我们从 git 克隆 rbenv 存储库。您应该从您计划运行 Ruby 的用户帐户完成这些步骤。

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

然后,您应该将 ~/.rbenv/bin 添加到您的 $PATH 中,以便您可以使用 rbenv 的命令行实用程序。还应该将 ~/.rbenv/bin/rbenv init 添加到您的 ~/.bashrc 文件中,这样您就可以自动加载 rbenv。

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

接下来,通过键入以下命令来源化 rbenv:

 source ~/.bashrc

您可以使用 type 命令检查 rbenv 是否已正确设置,该命令将显示有关 rbenv 的更多信息:

type rbenv

您的终端窗口应输出以下内容:

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

为了使用 rbenv install 命令(简化新版本 Ruby 的安装过程),您应该安装 [ruby-build] (https://github.com/rbenv/ruby-build),我们将通过 git 安装它作为 rbenv 的插件:

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

此时,您应该已经安装了 rbenv 和 ruby-build,我们可以继续安装 Ruby。

安装 Ruby

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

rbenv install -l

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

现在我们将安装特定版本的 Ruby。请记住,安装 Ruby 可能需要很长时间,所以准备好安装需要一些时间。

举个例子,让我们安装 Ruby 版本 2.5.0,一旦安装完成,我们可以使用 global 子命令将其设置为默认版本:

rbenv install 2.5.0rbenv global 2.5.0

如果您想安装和使用不同的版本,只需使用不同的版本号运行 rbenv 命令,如 rbenv install 2.3.0rbenv global 2.3.0

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

ruby -v

如果您安装了 Ruby 2.5.0 版本,上述命令的输出应该类似于:

ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

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

使用 Gems

Gems 是扩展 Ruby 功能的软件包。我们将通过 gem 命令安装 Rails。

为了减少安装 Rails 的过程,我们将关闭每个安装的 gem 的本地文档。我们还将安装 bundler gem 来管理应用程序的依赖项:

echo "gem: --no-document" > ~/.gemrcgem install bundler

您可以使用 gem env 命令(子命令 envenvironment 的缩写)来了解有关 gem 环境和配置的更多信息。您可以使用 home 参数检查 gem 安装的位置,它将显示 gems 在服务器上安装的路径。

gem env home

您的输出应该类似于以下内容,其中 sammy 是用户的名称:

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

一旦我们设置好 gems,我们就可以继续安装 Rails。

安装 Rails

作为相同的用户,您可以使用 gem install 命令安装最新版本的 Rails:

gem install rails

如果您想安装特定版本的 Rails,您可以列出有效的 Rails 版本进行搜索,这将输出一个可能版本的长列表。然后我们可以安装特定版本,例如 4.2.7:

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

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

rbenv rehash

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

rails -v

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

Rails 5.1.5

在这一点上,您可以开始测试您的 Ruby on Rails 安装并开始开发 Web 应用程序。

更新 rbenv

由于我们手动使用 git 安装了 rbenv,因此我们可以随时升级我们的安装到最新版本:

cd ~/.rbenvgit pull

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

卸载 Ruby 版本

随着您下载更多版本的 Ruby,您可能会在 ~/.rbenv/versions 目录中积累更多版本。

使用 ruby-build 插件来使用 uninstall 子命令自动化卸载过程。例如,键入以下内容将卸载 Ruby 版本 2.1.3:

rbenv uninstall 2.1.3

通过 rbenv uninstall 命令,您可以清理您的 Ruby 版本,以便您不会安装更多版本而不使用。

结论

我们已经介绍了如何在这里安装 rbenv 和 Ruby on Rails 的基础知识,以便您可以使用多个 Ruby 环境。对于您的下一步,您可以了解如何使这些环境更加健壮。


点击全文阅读


本文链接:http://zhangshiyu.com/post/163190.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1