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

本教程将带您通过Debian 8上的rbenv进行Ruby和Rails安装过程。希望创建网站和网络应用程序的开发人员最受欢迎的应用程序栈之一是Ruby on Rails。命令行工具rbenv允许您轻松地安装Ruby和Rails。使用rbenv将为开发您的Ruby on Rails应用程序提供一个坚实的环境,因为它将允许您根据需要在Ruby版本之间移动,使整个团队保持相同的版本。

介绍

对于希望创建网站和网络应用程序的开发人员来说,最流行的应用程序栈之一是Ruby on Rails。通过使用Ruby编程语言与Rails开发框架结合,简化了应用程序开发。 该命令行工具rbenv允许您安装和管理Ruby和Rails。 使用rbenv将为开发您的Ruby on Rails应用程序提供一个坚实的环境,因为它将允许您根据需要在Ruby版本之间移动,从而保持整个团队的同一版本。 项目库位于GitHub上 。 rbenv支持指定特定于应用程序的Ruby版本,允许您为每个用户更改全局Ruby,并允许您使用环境变量覆盖Ruby版本。

先决条件

本教程将带您通过Ruby和Rails安装过程中通过rbenv在Debian 8.要学习本教程,你需要有一个Debian 8 服务器以非root用户

更新和安装依赖关系

首先,我们应该更新apt-get ,因为这是第一次,我们将使用apt在这个环节。这将确保本地软件包缓存更新。
sudo apt-get update
接下来,让我们安装rbenv和Ruby提供所需的依赖apt-get
sudo 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:
sudo apt-get install git-core
一旦我们安装了所有必需的系统依赖项,我们就可以进入rbenv本身的安装。

安装rbenv

现在我们准备安装rbenv。让我们从Git克隆rbenv存储库。您应该从计划运行Ruby的用户帐户中完成这些步骤。
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
从这里,你应该添加~/.rbenv/bin到你的$PATH ,这样就可以使用rbenv的命令行工具。 还加入~/.rbenv/bin/rbenv init到你的~/.bash_profile会让你自动加载rbenv。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
接下来,通过键入以下命令来源rbenv:
 source ~/.bashrc
您可以检查是否rbenv成立正确使用type命令,该命令将显示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
}
为了使用rbenv install命令,它简化了对Ruby新版本的安装过程,你应该安装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.3.3版本:
rbenv install 2.3.3
如果您想安装并使用不同的版本,运行rbenv用不同的版本号命令,在rbenv install 2.3.0rbenv global 2.3.0 。 安装过程可能需要一些时间。您会收到类似的输出,与sammy作为用户的名称,一旦安装完成:
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.bz2
Installing ruby-2.3.3...
Installed ruby-2.3.3 to /home/sammy/.rbenv/versions/2.3.3
现在设置集,我们刚刚安装,它是我们与默认版本的版本global子命令:
rbenv global 2.3.3
验证一切都准备好使用去ruby命令来检查版本号:
ruby -v
如果你安装的版本2.3.3的Ruby,你的输出到上面的命令应该是这样:
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]
您现在至少已安装一个版本的Ruby,并已设置您的默认Ruby版本。接下来,我们将设置gems和Rails。

使用Gem

Gems是扩展Ruby功能的包。我们希望通过安装Rails gem命令。 为了使安装Rails的过程不那么冗长,我们将关闭我们安装的每个gem的本地文档。我们还将安装bundler gem来管理应用程序依赖:
echo "gem: --no-document" > ~/.gemrc
gem install bundler
当安装过程完成后,您应该会收到类似的输出:
Fetching: bundler-1.13.6.gem (100%)
Successfully installed bundler-1.13.6
1 gem installed
你可以使用gem env命令(子命令env是短期的environment ),以了解更多关于Gem的环境和配置。 您可以检查Gem的地方正在使用安装位置home的说法,这将显示路径到Gem安装在服务器上。
gem env home
你的输出应该是这样:
/home/sammy/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0
一旦我们设置了gem,我们可以继续安装Rails。

安装Rails

作为同一个用户,你可以用安装最新的Rails版本gem install命令:
gem install rails
您将在整个安装过程中收到输出,并确认Rails已成功安装。 如果你想安装一个特定版本的Rails,你可以通过搜索来列出Rails的有效版本,这将输出一个很长的可能版本列表。然后,我们可以安装一个特定版本,如4.2.7:
gem search '^rails$' --all
gem install rails -v 4.2.7
rbenv作品通过创建垫片的目录,这点由当前已启用了Ruby版本所使用的文件。 通过rehash子命令,rbenv保持在该目录在服务器上的Ruby各地的每一个安装的版本每个Ruby命令匹配垫片。每当你安装一个新版本的Ruby或一个gem提供命令,你应该运行:
rbenv rehash
因为没有输出,当这成功,我们可以通过打印其版本,使用此命令验证Rails已正确安装:
rails -v
如果安装正确,您将看到安装的Rails版本。我们现在可以继续设置我们的Ruby on Rails环境。

安装JavaScript运行时

几个Rails功能(例如资产管道)取决于JavaScript运行时。我们将安装Node.js以提供此功能。 我们可以先移动到一个可写目录如/tmp 。 从那里,我们将其输出到文件验证Node.js的脚本,然后读取它less
cd /tmp
\curl -sSL https://deb.nodesource.com/setup_6.x -o nodejs.sh
less nodejs.sh
一旦我们满意的Node.js的脚本,我们可以退出出less键入q 。 我们现在可以安装NodeSource Node.js v6.x repo:
cat /tmp/nodejs.sh | sudo -E bash -
-E这里使用的标志将保留用户的现有环境变量。 安装完成后,我们可以使用apt-get安装Node.js的:
sudo apt-get install -y nodejs
此时,您可以开始测试Ruby on Rails安装并开始开发Web应用程序。

更新rbenv

由于我们使用Git手动安装rbenv,我们可以随时将我们的安装升级到最新版本:
cd ~/.rbenv
git pull
这将确保我们使用的rbenv最新版本可用。

卸载Ruby版本

当你下载更多版本的Ruby,可以积累更多的版本比你想在你的~/.rbenv/versions目录。 使用红Gem构建插件删除过程与自动uninstall子命令。 例如,如果我们已经安装了Ruby 2.1.3,打字这将卸载它:
rbenv uninstall 2.1.3
随着rbenv uninstall命令可以清理你的Ruby版本,让你不必比您目前使用较多的安装做。

学习更多

我们已经介绍了如何在这里安装rbenv和Ruby on Rails的基础知识,以便您可以使用多个Ruby环境。随着需求的增长,您还可以了解如何在多个服务器上扩展Ruby on Rails应用程序