Ubuntu12.10下安装Ruby On Rails



Ubuntu12.10下安装Ruby On Rails

之前在ubuntu12.10下通过自己下载ruby和rubygems来手动安装,总是有些依赖包的缘故吧,有些地方失败,装了两天都没有成功,之后就去了Win7下安装成功了,练习了两天,感觉还不错,就再次回来在Ubuntu下装下试试,这次使用了比较方便的安装方法,使用RVM版本管理Ruby下安装:
安装rvm之前需要安装curl
[plain] view plaincopyprint?
sudo apt-get install curl
安装curl之后就可以开始安装rvm了,官方推荐:
[plain] view plaincopyprint?
curl -L get.rvm.io | bash -s stable
安装成功之后,注销系统,重新登陆通过rvm -v查看版本号:rvm 1.22.9 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
在安装Ruby之前还可以通过rvm requirements查看版本所依赖的包,这样更容易安装成功吧!
这时就开始安装Ruby啦!可以通过rvm list known查看rvm中所有的ruby的版本号,
[plain] view plaincopyprint?
kezhongke@kezhongke:~$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p374]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3[-p448]
[ruby-]2.0.0-p195
[ruby-]2.0.0[-p247]
[ruby-]2.0.0-head
ruby-head
这就列出了ruby的各个版本号,中括号里的东西,在没有歧义的情况下,可以省略不写,如:
[plain] view plaincopyprint?
rvm install 2.0.0-head
head代表目前最新版了,
安装成功之后通过ruby -v和gem -v查看安装的版本号:
注意这里有可能ruby -v时,会提示ruby不在那个目录中,所以可以根据提示命名一个别名(alias)
[plain] view plaincopyprint?
rvm alias create default ruby-2.0.0-p247
[plain] view plaincopyprint?
kezhongke@kezhongke:~$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux]
kezhongke@kezhongke:~$ gem -v
2.1.3
这时就可以安装rails.由于国内有墙的原因,幸好淘宝为我们提供了一个国内的镜像源。
首先通过rvm sources -l查看使用的所有镜像源,提议最好只保留一个淘宝的源,这样会安装的更快吧,反正国外的总是卡到一个地方:通过下边代码可以添加和删除镜像源:
[plain] view plaincopyprint?
gem sources –remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
开始安装rails:
[html] view plaincopyprint?
gem install rails -V
通过参数-V可以看到安装一些细节。
经过一系列的准备,还是在安装过程中停在了一个地方不动了,没办法等于安装失败了,删了ruby重装:
[plain] view plaincopyprint?
rvm remove ruby
然后再装ruby,装好之后在开始装rails,天不负有心人啊,这次成功了!
[plain] view plaincopyprint?
kezhongke@kezhongke:~$ rails -v
Rails 4.0.0
出来版本号,并不一定真的能运行程序,先建立一个ruby程序试试:
随便进入到一个你想建立项目的目录下:
[plain] view plaincopyprint?
rails new hello –skip-bundle
在国内需要加–skip-bundle这个参数,大家都懂的哈,很大一面墙在那呢,哈哈。否则的会经过一系列create之后会在run bundle install 这行的时候就不会进行下去了。
新建项目之后再安装bundle,进入到项目中,打开Gemfile,修改第一行:source ‘https://rubygems.org’修改为:source ‘http://ruby.taobao.org’
[plain] view plaincopyprint?
gem install bundle
安装成功了吧!这时还不能判断rails完全成功,启动下rails内置的服务器rails server看看行不行吧,居然启动不成功,报错:
[plain] view plaincopyprint?
Could not find gem ‘sdoc (>= 0) ruby’ in the gems available on this machine.
Run `bundle install` to install missing gems.
没办法啊,居然还缺少gem中的依赖包,不过没问题,提示信息已经告诉我们如何解决了:

[plain] view plaincopyprint?
bundle install
安装所有gem中需要的包,安装成功之后可以通过gem list可以查看所有的gem包,这个时候再次启动rails server
居然还不行:还有错误:
[plain] view plaincopyprint?
/home/kezhongke/.rvm/gems/ruby-2.0.0-p247/gems/execjs-2.0.1/lib/execjs/
runtimes.rb:51:in `autodetect’: Could not find a JavaScript runtime.
See https://github.com/sstephenson/execjs for a list of available runtimes.
(ExecJS::RuntimeUnavailable)
这个错误网上都说有两种解决办法:搜索一下都成了,我就不说了,我自己的解决办法就是安装nodejs解决问题
[plain] view plaincopyprint?
sudo apt-get install nodejs
安装成功之后,再次rails server
成功了,在浏览器里查看下欢迎界面吧,http://localhost:3000
看到网上很多说Ctrl+C不能关掉服务器,但是我的按下Ctrl+C就可以关掉服务器,哈哈,得意下吧!