介绍
Ruby on Rails是面向开发者创建网站和网络应用程序最流行的应用程序栈之一。 Ruby编程语言与Rails开发框架相结合,使应用程序开发变得简单。
您可以轻松地使用命令行工具rbenv安装Ruby和Rails。 使用rbenv将为开发您的Ruby on Rails应用程序提供一个坚实的环境,因为它将允许您轻松地切换Ruby版本,使整个团队保持相同的版本。 项目库位于GitHub上 。
rbenv支持指定特定于应用程序的Ruby版本,允许您为每个用户更改全局Ruby,并允许您使用环境变量覆盖Ruby版本。
先决条件
本教程将带您通过rbenv进行Ruby和Rails安装过程。 要学习本教程,你需要有一个Ubuntu的16.04服务器以非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
一旦我们安装了所有必需的系统依赖项,我们就可以进入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
您的终端窗口应输出以下内容:
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
}
为了使用rbenv install
命令,它简化了安装过程对Ruby的新版本,你应该安装Ruby版本 ,我们将安装用于通过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.1版,而一旦它完成安装,我们可以将它作为我们的默认版本global
子命令:
rbenv install 2.3.1
rbenv global 2.3.1
如果您想安装并使用不同的版本,只需运行rbenv
用不同的版本号命令,在rbenv install 2.3.0
和rbenv global 2.3.0
。
通过检查您的版本号验证Ruby已正确安装:
ruby -v
如果你安装的版本2.3.1的Ruby,你的输出到上面的命令应该看起来像这样:
Outputruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
您现在至少已安装一个版本的Ruby,并已设置您的默认Ruby版本。 接下来,我们将设置gems和Rails。
使用Gem
Gems是扩展Ruby功能的包。 我们希望通过安装Rails gem
命令。
为了使安装Rails的过程不那么冗长,我们将关闭我们安装的每个gem的本地文档。 我们还将安装bundler gem来管理应用程序依赖:
echo "gem: --no-document" > ~/.gemrc
gem install bundler
你可以使用gem env
命令(子命令env
是短期的environment
),以了解更多关于Gem的环境和配置。 您可以检查Gem的地方正在使用安装位置home
的说法,这将显示路径到Gem安装在服务器上。
$ gem env home
您的输出应该是这个样子,与sammy是用户的名称:
/home/sammy/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0
一旦我们设置了gem,我们可以继续安装Rails。
安装Rails
作为同一个用户,你可以用安装最新的Rails版本gem install
命令:
gem install 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脚本感到满意,我们可以安装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
目录。
使用Ruby构建插件删除过程与自动uninstall
子命令。 例如,键入这将卸载的Ruby版本2.1.3:
rbenv uninstall 2.1.3
随着rbenv uninstall
命令,您可以清理你的Ruby版本,让你不必比您目前使用较多的安装做。
学习更多
我们已经介绍了如何在这里安装rbenv和Ruby on Rails的基础知识,以便您可以使用多个Ruby环境。 为了接下来的步骤,您可以了解有关使这些环境更加强大的更多信息。 欲了解更多的可扩展性,集中化和控制您的Ruby on Rails应用程序,你可能要与使用它的PostgreSQL或MySQL的 ,而不是其默认sqlite3的数据库。 随着需求的增长,还可以学习如何在跨多个服务器的Rails应用程序扩展Ruby 。