ubuntu下 ruby on rails 环境搭建

rbenv

rbenv 是ruby的版本管理工具。

使用版本控制工具的好出:

如果直接安装ruby,一次只安装一个版本,那如果我们要跑一个高版本或低版本的应用程序就很不方便。使用版本控制工具,用命令行任何时候都可以改变ruby的版本。切换版本十分简单方便。并且在团队开发过程中,在一个特定的文件中指定一次,整个团队的开发都保持统一,不用再为应用程序跑在不同的ruby版本上而头疼。

管理版本的原理:

rbenv通过在PATH中注入shim这个可执行文件来截取ruby命令。确定当前指定了哪个ruby版本,然后在将命令传给正确的版本安装。
安装rbenv前:

Paste_Image.png

安装rbenv后:

Paste_Image.png
安装rbenv:

在安装rbenv之前应该注意不能安装rvm,因为这两个是不相容的。如果安装了必须先卸载rvm,然后才能安装rbenv

  1. 从git上将rbenv checkout 下来到 ~/.rbenv:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv

也可以执行下面这个命令加速rbenv,如果失败不会影响rbenv正常工作:

cd ~/.rbenv && src/configure && make -C src
  1. 执行下面命令,将rbenv添加到环境变量当中:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
(ubuntu下用)echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
(zsh下用)echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc

3.初始化rbenv,使shim生效。

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
(ubuntu下用)echo 'eval "$(rbenv init -)"' >> ~/.bashrc
(zsh下用)echo 'eval "$(rbenv init -)"' >> ~/.zshrc

4.重新打开一个终端,或者直接运行下面这个命令:目的是让环境变量立即生效不需要重新打开终端:

source ~/.bash_profile
(ubuntu下用)source ~/.bashrc
(zsh下用)source ~/.zshrc

5.检查你的rbenv是否安装好了:

type rbenv

出现如下图所示就说明安装成功。


Paste_Image.png

6.安装ruby-build,它提供了ruby install 命令,可以十分简便的安装ruby版本。

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

ruby安装

安装编译ruby的依赖

sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6 libreadline6-dev zlib1g zlib1g-dev

执行下面命令:

rbenv install -l

选择要安装的ruby版本:

rbenv install 2.5.0-dev

如果要卸载某个ruby版本执行命令:

rbenv uninstall 2.5.0-dev

用rbenv管理你的ruby

rbenv versions  #查看当前有哪些ruby版本
rbenv version   #查看当前使用的ruby版本
rbenv global 2.5.0-dev  #设置全局ruby执行版本
rbenv global system   #使用系统原有的ruby版本
rbenv local 2.5.0-dev  #设置本地ruby执行版本
rbenv local --unset  #取消本地ruby执行版本
rbenv shell 2.5.0-dev  #设置当前终端ruby执行版本,这个只在当前终端有效,新开启一个终端不会生效
rbenv shell --unset  #取消当前终端ruby执行版本
Paste_Image.png

在每次安装新的ruby版本后,要执行下面这个命令,不然会出错。

rbenv rehash

安装rails

首先介绍一下,Gem是封装起来的Ruby应用程序或代码库。每个gem都有一个名称,版本和平台。 例如,rake gem具有0.8.7版本(从2009年5月开始)。 Rake的平台是ruby,这意味着它可以在Ruby运行的任何平台上运行。
Rails是一个使用Ruby语言写的Web应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。Railsgem来安装管理。
执行下面命令安装rails

gem install bundler rails

检查是否安装成功:

Paste_Image.png

安装过程中遇到的问题以及解决方案:
https://github.com/rbenv/ruby-build/issues/907
https://github.com/rbenv/rbenv/issues/847

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容