如何在Debian7上使用rbenv安装RubyonRails(Wheezy)

来自菜鸟教程
跳转至:导航、​搜索

介绍

Ruby on Rails 是一个基于 Ruby 的开源 Web 框架。 它一直是初创公司的热门选择,因为它更容易构建和发布应用程序。 要开始使用 Ruby on Rails,您需要安装 Ruby。 然而,由于 Debian 打包系统的工作方式,您最终会得到一个旧版本的 Ruby。 因此,本指南将向您展示使用最新版本的 Ruby 和 Ruby on Rails 的安全方法。

安装 rbenv

我们需要安装一些软件包,这样 Debian 就不会抱怨缺少文件或库。 我们将为此使用 Debian 打包系统。

首先,我们需要确保我们拥有所有可以安装的最新软件包:

sudo apt-get update

接下来,我们将安装 git 包,以便我们可以使用 git 命令:

sudo apt-get install git-core

rbenv 不提供任何安装程序,所以我们必须使用来自 Github 的源代码。 因此,我们需要将它克隆到我们的主目录中。

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

PATH 是 Debian 用于在您运行命令时搜索可执行文件的变量。 因此,我们必须在其中附加 rbenv 可执行文件的路径。 每次我们以用户身份登录时都必须这样做。 因此,我们将使用每次以用户身份登录时都会运行的 bashrc:

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

在我们的 bashrc 中为 shims[1] 添加另一个命令,并为 rbenv 自动完成:

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

重新启动你的 shell(打开一个新的终端选项卡就足够了)。 要检查一切是否正常,请运行:

type rbenv

你应该得到这样的输出:

rbenv is a function

就是这样。 您刚刚成功安装了 rbenv。 但我们还没有完成。 为了简化 ruby 安装,我们需要安装 ruby-build,它是 rbenv 插件之一,通过从 Github 克隆它:

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

由于 shims 的工作方式,我们每次安装或卸载 gem 时都需要运行 rbenv rehash。 为了防止它,我们可以使用另一个 rbenv 插件,它会自动为我们做这件事。 像往常一样,我们将克隆它进行安装

git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash

安装红宝石

好了,我们的 rbenv 安装一切都完成了。 接下来,我们将安装一个 ruby。 但在此之前,我们需要安装一些必需的包,以确保安装顺利。

apt-get install build-essential libssl-dev libcurl4-openssl-dev libreadline-dev -y

为了列出所有可用的 Ruby 版本供您选择,我们可以使用:

rbenv install --list

我将在本指南中使用 2.1.0 版本。 要安装它,只需运行以下命令:

rbenv install 2.1.0 -k

-k 将保留 Ruby 的源代码。 它将有助于在未来构建其他宝石。

现在,我们需要设置每次运行 ruby 命令时要使用的版本。 如果遇到此命令的任何问题,请确保删除 ~/.rbenv/sources 中的任何目录。

要将其设置为全局使用,只需运行:

rbenv global 2.1.0

就是这样,现在你已经安装了 ruby 2.1.0。 您可以通过运行来验证它:

ruby -v

你应该得到这样的东西(取决于你的版本):

ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]

Ruby on Rails 安装

Ruby on Rails (RoR) 为您的初始应用程序创建提供了一个命令。 该命令将设置您的目录、gem 依赖项等。 在运行它之前,我们需要确保安装了所有必需的包。

默认情况下,RoR 将使用 sqlite 作为其数据库。 为了在没有任何错误的情况下使用它,我们需要 Debian 的 sqlite 包:

sudo apt-get install sqlite3 libsqlite3-dev

RoR 还需要 JavaScript 运行时[2]。 有多种方法可以做到这一点,但我们将使用来自 Debian Backports[3] 的 nodejs 来安装它。

要使用它,我们需要添加 Debian Backports 存储库:

打开定义 Debian 存储库的文件:

sudo nano /etc/apt/sources.list

将这些行附加到文件中:

deb http://ftp.us.debian.org/debian/ wheezy-backports main
deb-src http://ftp.us.debian.org/debian/ wheezy-backports main

像往常一样,运行此命令以确保您将获得所有包列表:

sudo apt-get update

要安装 nodejs,只需运行以下命令:

sudo apt-get -t wheezy-backports install nodejs

继续并使用以下命令安装 Ruby on Rails:

gem install rails

第一个 Ruby on Rails 应用程序

我们现在准备创建我们的第一个 RoR 应用程序。 运行此命令来创建它(您可以将 mynewapplication 更改为您想要的任何内容):

rails new mynewapplication

它将自动安装所需的 gem。 完成后,进入其目录:

cd mynewapplication

运行此命令以启动您的应用程序

rails s

启动浏览器并转到以下地址:

http://your_ip_or_domain:3000

您应该会看到欢迎登机页面。 单击“关于您的应用程序的环境”,您应该会看到如下所示的内容。

恭喜! 您已成功安装并创建了您的第一个 RoR 应用程序。

[1]

https://assets.digitalocean.com/articles/Debian_Ruby_rbenv/WelcomeAboard.jpg

[2]

https://github.com/sstephenson/execjs#readme

[3]

http://backports.debian.org/