如何在 Debian 8 上使用 rbenv 安装 Rails 上的 Ruby

介绍

寻求创建网站和Web应用程序的开发者最受欢迎的应用程序堆栈之一是Ruby on Rails。

命令行工具 rbenv 允许您安装和管理 Ruby 和 Rails. 使用 rbenv 将为您提供一个健全的环境来开发您的 Ruby on Rails 应用程序,因为它将允许您根据需要在 Ruby 版本之间移动,保持整个团队在相同的版本上。

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

前提条件

本教程将引导您通过 Debian 上的 rbenv 通过 Ruby 和 Rails 安装过程。 要遵循本教程,您需要有一个 Debian 8 服务器与 [非根用户] (https://andsky.com/tech/tutorials/initial-server-setup-with-debian-8)。

更新和安装依赖性

首先,我们应该更新apt-get,因为这是我们第一次在这个会话中使用apt

1sudo apt-get update

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

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

因为我们将从Git克隆rbenv,我们也将安装Git:

1sudo apt-get install git-core

一旦我们安装了所有所需的系统依赖性,我们就可以开始安装rbenv本身。

安装 rbenv

让我们从 Git 克隆 rbenv 存储库. 您应该从您计划运行 Ruby 的用户帐户完成这些步骤。

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

从这里开始,你应该将~/.rbenv/bin添加到你的$PATH,这样你就可以使用rbenv的命令行实用程序。 此外,将~/.rbenv/bin/rbenv init添加到你的~/.bash_profile会让你自动加载rbenv。

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

接下来,通过键入源rbenv:

1source ~/.bashrc

您可以通过使用类型命令来检查是否正确设置了 rbenv,该命令会显示有关 rbenv 的更多信息:

1type rbenv

您的终端窗口应该输出如下:

 1[secondary_label Output]
 2rbenv is a function
 3rbenv () 
 4{ 
 5    local command;
 6    command="$1";
 7    if [ "$#" -gt 0 ]; then
 8        shift;
 9    fi;
10    case "$command" in 
11        rehash | shell)
12            eval "$(rbenv "sh-$command" "$@")"
13        ;;
14        *)
15            command rbenv "$command" "$@"
16        ;;
17    esac
18}

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

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

在此时,您应该安装 både rbenv 和 ruby-build,我们可以继续安装 Ruby。

安装 Ruby

有了 Ruby-build rbenv 插件,我们可以通过一个简单的命令安装任何可能需要的 Ruby 版本。

1rbenv install -l

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

现在我们将安装特定版本的 Ruby. 重要的是要记住,安装 Ruby 可能是一个漫长的过程,所以要做好准备,安装需要一段时间才能完成。

作为一个例子,让我们安装 Ruby 版本 2.3.3:

1rbenv install 2.3.3

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

安装过程可能需要一些时间. 您应该收到类似的输出,一旦安装完成, sammy 就是用户的名称:

1[secondary_label Output]
2-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.bz2
3Installing ruby-2.3.3...
4Installed ruby-2.3.3 to /home/sammy/.rbenv/versions/2.3.3

现在设置了我们刚刚安装的版本为我们的默认版本,使用全球子命令:

1rbenv global 2.3.3

通过使用ruby命令来检查版本号,确保一切都准备好了:

1ruby -v

如果您安装了 Ruby 2.3.3 版本,则上述命令的输出应该是这样的:

1[secondary_label Output]
2ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]

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

与宝石合作

宝石是扩展 Ruby 的功能的包,我们将通过gem 命令来安装 Rails。

为了使安装 Rails 的过程更短的时间,我们将关闭我们安装的每个宝石的本地文档,我们还将安装包装宝石来管理应用程序依赖性:

1echo "gem: --no-document" > ~/.gemrc
2gem install bundler

当该安装过程完成时,您应该收到类似的输出:

1[secondary_label Output]
2Fetching: bundler-1.13.6.gem (100%)
3Successfully installed bundler-1.13.6
41 gem installed

您可以使用gem env命令(子命令env环境的缩写)来了解更多关于宝石的环境和配置。

1gem env home

你的输出应该像这样的东西:

1/home/sammy/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0

一旦我们已经设置了宝石,我们可以继续安装Rails。

安装铁路

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

1gem install rails

您将在整个安装过程中获得输出,并确认 Rails 已成功安装到最后。

如果您想安装特定版本的 Rails,您可以通过搜索列出有效版本的 Rails,这将产生一个长的可能版本列表。

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

rbenv 通过创建一个 shims 目录,指向当前启用的 Ruby 版本使用的文件。通过rehash子命令,rbenv 在该目录中保持 shims,以匹配每个 Ruby 命令在您的服务器上安装的每个 Ruby 版本。

1rbenv rehash

由于在成功时没有输出,我们可以通过打印其版本来验证 Rails 是否正确安装,使用以下命令:

1rails -v

如果正确安装,您将看到已安装的 Rails 版本,现在我们可以继续设置 Ruby on Rails 环境。

安装 JavaScript 运行时间

一些 Rails 功能,例如资产管道,取决于 JavaScript 运行时间,我们将安装 Node.js 来提供此功能。

从那里,让我们通过将它输出到一个文件来验证 Node.js 脚本,然后用更少读取它:

1cd /tmp
2\curl -sSL https://deb.nodesource.com/setup_6.x -o nodejs.sh
3less nodejs.sh

一旦我们对 Node.js 脚本满意,我们可以通过键入q来退出

我们现在可以安装 NodeSource Node.js v6.x 复制:

1cat /tmp/nodejs.sh | sudo -E bash -

这里使用的-E旗将保留用户现有的环境变量。

一旦安装完成,我们可以使用apt-get来安装 Node.Js:

1sudo apt-get install -y nodejs

此时,您可以开始测试 Ruby on Rails 安装,并开始开发 Web 应用程序。

更新 rbenv

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

1cd ~/.rbenv
2git pull

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

删除 Ruby 版本

當您下載更多版本的 Ruby 時,您可能會在您的「~/.rbenv/versions」目錄中積累更多的版本。

使用 Ruby-build 插件以使用卸载子命令来自动化删除过程,例如,如果我们安装了 Ruby 2.1.3,输入此文将取消安装:

1rbenv uninstall 2.1.3

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

学习更多

我们在这里介绍了如何安装 rbenv 和 Ruby on Rails 的基本知识,以便您可以使用多个 Ruby 环境。随着您的需求的增长,您还可以学习如何在多个服务器上扩展 Ruby on Rails 应用程序(https://andsky.com/tech/tutorials/how-to-scale-ruby-on-rails-applications-across-multiple-droplets-part-1)。

Published At
Categories with 技术
comments powered by Disqus