分享 Ruby on Rails 简易安装攻略 for RailsGirls

jasl · January 08, 2014 · Last by cassiuschen replied at January 24, 2014 · 9655 hits

Ruby on Rails 简易安装攻略

Windows

使用 RailsInstaller 傻瓜包:

  • 通过 百度盘下载 ,或访问 官网 下载最新版本
  • 安装,一路回车即可
  • 最后会弹出命令行窗口:

输入昵称

输入一个英文名字 回车 即可,然后会提示输入邮箱,输入后 回车

输入邮箱

最后出现 C:\Sites> 后,即表示安装成功,可以 关闭 它了

大功告成

OS X

由于 10.9 改进巨大、完全免费,并且升级后无副作用,强烈建议老版本 OS X 升级到 10.9,即 Mavericks

你可以在屏幕左上角点击 苹果Logo ,在弹出的菜单中选择第一项 关于这台Mac 检查版本

进入关于这台Mac

查看OS X版本

10.9

OS X 10.9 自带了 Ruby 2.0,稍作配置即可

  • 通过 百度盘下载 适用于 10.9 系统的 Command line tools,或访问 Apple Developer 下载
  • 安装它
  • 打开 Launchpad,在搜索栏输入 terminal,应该能得到结果 终端 或是 Terminal ,点击打开

打开终端

打开后会出现 终端 窗口

终端界面

$ 后边有一个一闪一闪的色块,此时表示可以输入命令,请在此状态下逐步进行下列操作

输入(复制也可,下同) gem sources --remove https://rubygems.org/ 回车

删除默认Gem源

输入 gem sources -a http://ruby.taobao.org/ 回车

使用淘宝Gem源

输入 gem sources -l 回车

检查Gem源配置

输入 sudo gem install rails 回车,你可能会遇到如下图的提示 Password:

要求输入密码

请输入你 电脑的登录密码 ,需要注意的是 输入的密码不会在屏幕上有任何显示,所以心里数好输入完毕回车即可

密码输入正确后稍等会下载安装 Rails

正在安装Rails

如果有提示 Overwrite the executable? [yN] 请输入 y 回车

稍等片刻,会回到可输入状态,表明安装成功,可以 关闭 它了

安装完成

10.8

暂坑,Up 主没有 10.8 环境了,建议升级到 10.9

- -

Linux

请在 QQ 群中抓教练帮忙

- -

编辑器 - Sublime Text

Windows

通过 百度盘 下载,或 访问官网 下载。安装即可。

OS X

通过 百度盘 下载,或 访问官网 下载。安装即可。

Linux

访问官网 下载。安装即可。

10.8 的 command line tools http://pan.baidu.com/s/1hqoQtO4 10.9 的 http://pan.baidu.com/s/1nt39k1r rails installer http://pan.baidu.com/s/1jG2Zw0I

往次经验看用 linux 和 osx 环境配置上容易掉链子...并且每次活动对场地的网络来说都是考验,所以大家提前准备啦

我在教程里包含了调整 gem 源的部分意图是减少活动中如果教练有希望引入新的 gem 的话,减少不必要的意外

Installation Party 还是蛮有必要的

@jasl cool, 我抓人补充下 Linux 与 OSX10.8 的

补充一个 ubuntu 的

要安装 ruby,最好是用 rvm,这个是经验 安装 rvm:先安装 curl 和 git

sudo apt-get install git-core sudo apt-get install curl

可以用 dpkg -s curl 命令检查一下系统有没有安装

安装 rvm 用 rvm 官方推荐的方式安装 curl -L get.rvm.io | bash -s stable 回显提示我们,RVM 被安装在$HOME/.rvm 中;并且需要在终端中加载脚本$HOME/.rvm/scripts/rvm

应该请把这句话加在$HOME/.bash_profile 文件中,以便在开启一个终端会话时候加载 RVM [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

如果对 shell 变成不熟悉,这里简单解释一下这是干什么用的。

[[condition]],两层的方括号中间括着条件返回条件是不是真。-s 是判断给定的文件是否存在的命令。这样一来,不就是在 [[ -s "$HOME/.vrm/scripts/vrm"]] 判断刚才安装的 RVM 是否存在吗? 接下来的&&符号是“短路的与”,当前面的条件是真的时候,执行后面的语句,返回这两个语句是不是全是真。在这里,利用了“短路”特性。也就是说当 RVM 已经安装的话,执行后面的。"$HOME/.rvm/scripts/rvm"命令。这条命令和 source "$HOME/.rvm/scripts/rvm"是一个意思:加载 rvm 的启动脚本。 #符号后面是注释信息。 使用 RVM 刚才我们通过修改.bash_profile 增加的内容需要重新打开终端窗口时加载。我们有两个选择,一个是关闭当前的终端窗口重新打开,另一个是在当前窗口执行一遍。"$HOME/.rvm/scripts/rvm"。 察看 RVM 的版本

rvm 1.16.20 (stable) by Wayne E. Seguin [email protected], Michal Papis [email protected] [https://rvm.io/]

可以查看可以安装的版本 rvm list known

安装 ruby rvm install 1.9.3-p125

这一步按道理讲会发生问题

Searching for binary rubies, this might take some time. No binary rubies available for: ubuntu/10.04/i386/ruby-1.9.3-p125. Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies. Installing requirements for ubuntu, might require sudo password. Skipping apt-get update make sure your system is up to date. RVM autolibs is now configured with mode '2' => 'check and stop if missing', please run rvm autolibs enable to let RVM do its job or run and read rvm autolibs [help] or visit https://rvm.io/rvm/autolibs for more information.

如下划线所示,运行 rvm autolibs enable rvm autolibs

然后就可以安装 ruby 了,选择一个版本 rvm install 1.9.3-p125

再运行 ruby 时,发现会有这样一个错误 RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell. Sometimes it is required to use /bin/bash --login as the command. Please visit https://rvm.io/integration/gnome-terminal/ for a example. 访问下划线处网站,会有指点,按方式做,很简单

关闭 terminal 之后,重新打开 ruby -v 成功

再使用 gem 安装 rails gem install rails

@jasl 你们都让妹纸们装哪个编辑器啊?RailsGirls 官网上面的 Komodo Edit 好用么?我们这边的教练都觉得 Sublime 比较好,你们有什么建议啊?

#1 楼 @jasl 据说这次人比较多?我推荐了一美女报名,结果收到通知说大概是人数太多,没法让这么多人参加。。。

#7 楼 @317583395 嗯 linux 按照咱们养家糊口的配置方式就好了,感觉用 linux 的都是非常厉害的。。。 稍微修改下蚊子 用最新 2.1 的 ruby 吧~

#9 楼 @jxs471494539 sublime 吧 回头更新下

@jasl 你参加的是哪个地方的??

#14 楼 @AlphaLiu 北京 3 点的飞机就回去了

超赞的,,,

10.8 和 10.6-10.7 加个 railsinstaller 安装包吧,升级花的时间不少啊。

18 Floor has deleted

#18 楼 @shooter #17 楼 @sundevilyang 不建议用那个,反而掉链子...之前活动我帮忙处理过好几个用那个安装失败的案例了 而且似乎看版本已经不维护了

下次直接给姑娘们上虚拟机吧

#20 楼 @hpyhacking @leopku 已经准备好 vagrant 了 - -

#21 楼 @jasl 应该补上一个 chef 脚本,或者自己封装一个 vagrant 的 box,可以使用 https://github.com/jedi4ever/veewee 。 说实话,Rails 的入门曲线挺陡的,配置安装环境是一个非常大的难题,还是遵循楼上的建议,搞个提前的环境配置 Party,配置不好的,直接上 vagrant。

可惜,这次是赶不上了……你们挑的时间太给力了……

#22 楼 @chunlea 正常怎么做都不会出问题的,但因为环境不同(比如被某卫士 XX 过)会导致一些奇怪问题...

歪楼的来了~仅仅安装好 Rails 是不够的~~我来补充一些

mysql:

sudo apt-get install -y libmysql-ruby libmysqlclient-dev     
sudo apt-get install mysql-server mysql-client

postgresql:

安装:

sudo apt-get install postgresql
sudo apt-get install -y libpq-dev

设置密码 (不同于 mysql, pg 默认用户是 postgres )

sudo -u postgres psql 
postgres=# ALTER USER postgres WITH PASSWORD 'newpassword';
postgres=# \q

memached

sudo apt-get install -y libsasl2-dev

image_magic

sudo apt-get install libmagickwand-dev
sudo apt-get install imagemagick

nokogiri

sudo apt-get install libxslt-dev libxml2-dev sudo apt-get install -y postgresql-devel

nodejs

可从源代码安装,从官网下载 node 的源代码。 tar 解压后, 进入目录,

./configurate
make
sudo make install

sunspot 等需要 java 环境,快速安装。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

redis 可参考这里 sudo apt-get install redis-server

常用 vim 插件,一键安装 curl -Lo- https://bit.ly/janus-bootstrap | bash

Ubuntu 系统,供参考。Windows 八字不合,不推荐;OS X 木用过…。

#24 楼 @leekelby 策反妹子们就靠你了啊 骚年!

我有 sublime 啦!但是 terminal 第一步就出状况:source https://rubygems.org not present in cache 怎么办 TuT 每一步都依样画葫芦好紧张> <

#26 楼 @funkyjoey gem source -l 看看?或者跳过那一步,感觉你可能重复操作了~

ok,现在是

*** CURRENT SOURCES ***

https://rubygems.org/

http://ruby.taobao.org/

可以继续么师傅!可不可以很蠢地问一句炫酷的代码行怎么出来的?-_-

其实最重要的是我输密码的时候 sorry try again 了!TuT 不知为何啊

#29 楼 @funkyjoey 那个是密码错误啦 重新输入就好~ gem sources --remove https://rubygems.org/ 重新运行下试试 这个代码行是 代码 前后被三个` 包围

```gem sources --remove https://rubygems.org/```

这样

#30 楼 @jasl 第一个问题解决了!忘记敲 / 真是囧-_- 跟着 Learn Python the hard way 搬了这么久还搬错。。。。。。 密码是指我的 apple id password 咩?还是不行,欲哭无泪,有如神阻。

#31 楼 @funkyjoey 嗯 是 apple id 的 password 的啦 就是你账号的密码~

#32 楼 @jasl 那悲剧了。。。我还没缺少睡眠到 n 次都输错自己密码吧。。。我明天再试试 TuT 多谢!

@jasl 这句 请输入你苹果账号的密码, 这句歧义太大了。建议改成 电脑的登录密码

#35 楼 @ichord 已修改~ thx

太复杂了 ...

#37 楼 @bhuztez 最简单的安装方式:

通灵之术! @bhuztez

请问 我这里出现了 rails 安装错误提示 怎么办? 我已经安装好 RVM 了,本来是看教程通过 RVM 安装 rails 的,可是我不知道要写什么指令,然后就看到上面的简单安装教程了,不过出现截图中的错误,不知道该如何解决

想问安装完 rails 我要该干嘛了 -_-??

#38 楼 @jasl

你没发现你这完全是绕远路啊。

首先用一个靠谱的二进制发行版比 Mac OS X 和 Windows 都要方便得多。只要用发行版自带的包管理器安装就好了。

其次,选一门简单的语言很重要,Ruby 的概念太复杂了,几分钟根本就讲不完。讲一小部分也不行,因为你选了 Rails 这种没节操的滥用语言特性的框架。

第三,要选一个简单以及和所选语言结合比较好的编辑器,Sublime 也太复杂太难用了。

上面三点没搞好,就是把大量时间浪费在了安装和配置环境上了,挫折感太强了,纯浪费时间。

果断差评

41 Floor has deleted

推荐 win 搭环境好惹,下个 1.9.3 的 exe 然后双击一路下一步,再来用三个命令加上 devkit 绝对能跑起工程,数据库就直接用 sqlite3 嘛

win 下的 2.0.0 还有很多 gem 没跟上步伐造成无法安装,连 rubyinstaller 都推荐说最好用 1.9.3 的版本,railsinstaller 还是用 2.2.2 的好

#40 楼 @bhuztez 你提到了选择靠谱的二进制包,那么我只能说,目前 Linux 和 Mac 下没有 靠谱 的 推荐那么做是基于经验,参加三次 RailsGirls 处理了环境问题最严重的就是傻瓜包的,win 的 RailsInstaller 还是不错的,但是 Mac 和 Linux 下就是坑货,按照这个教程里的步骤做,最大的挑战在于网络

你觉得什么语言概念简单?C 么?Java?Lisp?还是 Python?语言是为了表达,平时说的中文我现在只知道啥叫主语不一样正常交流么?选择抽象程度高的语言恰恰是利于易于产生结果,RailsGirls 活动下来不少小组都可以提交一个完整作品。

体验完整的过程比明白概念更重要,起码告诉你两件事,1 我对编程没什么了解,我做了,我做到了,编程不难,我很有成就感。2 我要通过编程做一个网站,我需要做什么,我应该做什么。 多少人因为起初很想学编程,尝试了,过段时间感觉自己就像只无头苍蝇,学的东西不知道怎么用,想做这个想做那个,结果一事无成,心灰意冷。 现在太多人鼓吹大学无用论,理由就是学了用不到,数据结构无用?算法无用?数据库原理无用?操作系统无用?这些真用不到么?为什么会那么多人鼓吹大学无用呢?我现在最后悔的就是这些理论课学的不够好

另,关于概念,推荐你看看 RailsGrils 的官方讲义 Bento 这个我在过去的活动里测试过,即使讲师都能归类错

话说 Python 的抽象程度和 Python 差不多吧,咋大学都流行用 Python 作为入门语言了?

编辑器用什么好?请推荐,要满足一个条件,免费

#42 楼 @ywjno 用 2.0 的原因是上 rails 4,这个教程出于 RailsGirls 活动初学目的,不涉及到太多二进制 gem,实际工作我不推荐用 windows

#44 楼 @jasl rails4 也能在 1.9.3 下跑的

#45 楼 @ywjno 是的 另一个原因就是 我想尝试下新东西,这个算是个人口味,已经有两年没在 win 下做 ruby 开发了,不太熟悉现在会遇到的坑

强烈建议初学者用 vagrant……上一个 2.0.0p247+4.0.2 的 ubuntu64 的 box:http://saas.bdfzer.com/dl/dev/rails64.box

#48 楼 @jasl 因为 vagrant 用同一个 box 的话不同平台的体验和配置是一致的,没有 gems 限制,唯一就是 windows 下需要通过安装 git 或者 MinGW 安装 unix 样式的 ssh,稍微复杂一点,其余没有啥配置难度…而且我觉得开发者尽早接触生产环境尤其是 linux 对于敲代码的习惯是一种很好的培养…

You need to Sign in before reply, if you don't have an account, please Sign up first.