首页 > 代码库 > [脚本_Ruby]Ubuntu上安装配置Ruby On Rails环境

[脚本_Ruby]Ubuntu上安装配置Ruby On Rails环境

之前在ubuntu12.10下通过自己下载ruby和rubygems来手动安装,总是有些依赖包的缘故吧,有些地方失败,装了两天都没有成功,之后就去了Win7下安装成功了,练习了两天,感觉还不错,就再次回来在Ubuntu下装下试试,这次使用了比较方便的安装方法,使用RVM版本管理Ruby下安装:

安装rvm之前需要安装curl

 

[plain] view plaincopyprint?
  1. sudo apt-get install curl  

安装curl之后就可以开始安装rvm了,官方推荐:

 

[plain] view plaincopyprint?
  1. 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?
  1. kezhongke@kezhongke:~$ rvm list known  
  2. # MRI Rubies  
  3. [ruby-]1.8.6[-p420]  
  4. [ruby-]1.8.7[-p374]  
  5. [ruby-]1.9.1[-p431]  
  6. [ruby-]1.9.2[-p320]  
  7. [ruby-]1.9.3[-p448]  
  8. [ruby-]2.0.0-p195  
  9. [ruby-]2.0.0[-p247]  
  10. [ruby-]2.0.0-head  
  11. ruby-head  

这就列出了ruby的各个版本号,中括号里的东西,在没有歧义的情况下,可以省略不写,如:

 

[plain] view plaincopyprint?
  1. rvm install 2.0.0-head  

head代表目前最新版了,

安装成功之后通过ruby -v和gem -v查看安装的版本号:

注意这里有可能ruby -v时,会提示ruby不在那个目录中,所以可以根据提示命名一个别名(alias)

 

[plain] view plaincopyprint?
  1. rvm alias create default ruby-2.0.0-p247  

 

[plain] view plaincopyprint?
  1. kezhongke@kezhongke:~$ ruby -v  
  2. ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux]  
  3. kezhongke@kezhongke:~$ gem -v  
  4. 2.1.3  

这时就可以安装rails.由于国内有墙的原因,幸好淘宝为我们提供了一个国内的镜像源。

首先通过rvm sources -l查看使用的所有镜像源,提议最好只保留一个淘宝的源,这样会安装的更快吧,反正国外的总是卡到一个地方:通过下边代码可以添加和删除镜像源:

 

[plain] view plaincopyprint?
  1. gem sources --remove https://rubygems.org/  
  2. gem sources -a http://ruby.taobao.org/  

开始安装rails:

 

[html] view plaincopyprint?
  1. gem install rails -V  

通过参数-V可以看到安装一些细节。

经过一系列的准备,还是在安装过程中停在了一个地方不动了,没办法等于安装失败了,删了ruby重装:

 

[plain] view plaincopyprint?
  1. rvm remove ruby  

然后再装ruby,装好之后在开始装rails,天不负有心人啊,这次成功了!

 

[plain] view plaincopyprint?
  1. kezhongke@kezhongke:~$ rails -v  
  2. Rails 4.0.0  

出来版本号,并不一定真的能运行程序,先建立一个ruby程序试试:

随便进入到一个你想建立项目的目录下:

 

[plain] view plaincopyprint?
  1. 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?
  1. gem install bundle  

安装成功了吧!这时还不能判断rails完全成功,启动下rails内置的服务器rails server看看行不行吧,居然启动不成功,报错:

 

[plain] view plaincopyprint?
  1. Could not find gem ‘sdoc (>= 0) ruby‘ in the gems available on this machine.  
  2. Run `bundle install` to install missing gems.  

没办法啊,居然还缺少gem中的依赖包,不过没问题,提示信息已经告诉我们如何解决了:

 

[plain] view plaincopyprint?
  1. bundle install  

安装所有gem中需要的包,安装成功之后可以通过gem list可以查看所有的gem包,这个时候再次启动rails server

居然还不行:还有错误:

 

[plain] view plaincopyprint?
  1. /home/kezhongke/.rvm/gems/ruby-2.0.0-p247/gems/execjs-2.0.1/lib/execjs/  
  2. runtimes.rb:51:in `autodetect‘: Could not find a JavaScript runtime.   
  3. See https://github.com/sstephenson/execjs for a list of available runtimes.   
  4. (ExecJS::RuntimeUnavailable)  

这个错误网上都说有两种解决办法:搜索一下都成了,我就不说了,我自己的解决办法就是安装nodejs解决问题

 

[plain] view plaincopyprint?
  1. sudo apt-get install nodejs  

安装成功之后,再次rails server

成功了,在浏览器里查看下欢迎界面吧,http://localhost:3000

看到网上很多说Ctrl+C不能关掉服务器,但是我的按下Ctrl+C就可以关掉服务器,哈哈,得意下吧!

[脚本_Ruby]Ubuntu上安装配置Ruby On Rails环境