码迷,mamicode.com
首页 > Web开发 > 详细

如何在ubuntu中搭建ruby开发环境

时间:2016-03-25 15:09:21      阅读:497      评论:0      收藏:0      [点我收藏+]

标签:

Ubuntu是一个以桌面应用为主的linux操作系统,在进行项目开发的时候,需要在ubuntu中安装ruby开发(http://www.maiziedu.com/course/ruby-px/语言,主要是考虑到项目的高可变性,以及由此产生的高适应性,所以选择用ruby。跟Java相比,ruby的确比较灵活,能写出千变万化的代码。

  

但是,比较可悲的是,在windows7上面搭建ruby环境问题比较多。无论是基于cgywin,还是直接使用netbeans都不尽如人意。

  

因为想调整webserver使用nginx+thin,而不是webrick,所以,要考虑thin的适应性。没想到,使用当前的ruby1.9.3 p134还有问题。在项目路径下,每次运行thin start,到最后总是提示intercepter error,但是用webrick就是好的。可能thin1.9.3的还没有很好的结合。

所以,切换到linux下试试环境。

经过见缝插针的努力,终于看到点希望,搭建好了thin server

先总结一下,以备后用。我的osubuntu12 

1.安装rvm  

这个比较简单,直接通过官网(s://rvm.io/rvm/basics/),照上面的说明做就可以:

 curl -L get.rvm.io | bash -s stable(如果提示没有curl,就先sudo apt-get install curl)  

安装完成rvm,会有个提示,里面有说需要source /home/eric/.rvm/scripts/rvm (这里可能根据不同的安装路径,有所不同),需要仔细看看那个安装完成的提示。如果不做这一步,运行rvm时,会有rvm不是一个函数的错误提示。

2.安装rvm的支持包:

如果不安装这些包,在运行gem的时候,会出现少包的情况,那难免又要重新安装和编译,所以把这一步提前。 

对照rvm的官网关于package的部分(s://rvm.io/packages/),主要有zlibopensslzlib

gem会用到的,opensslrails中会用到的。所以,先通过官网的命令安装:

rvm pkg install zlib 

rvm pkg install openssl 

安装ruby 不多说了,直接上: 

rvm install 1.9.2

rvm install 1.9.3  

上面两个命令都会获取两个版本的最新Build.

4.设置默认rubygemset:(以下都会用到1.9.2,这个版本时间比较长,一些组件比较稳定)

rvm --default use 1.9.2 

 rvm有一套gem的管理机制,就是gemset,具体理论不多说,各位看官网吧。有些东西会在命令之间做个简单说明。个人理解,因为gem都是放在ruby编译器对应的gem路径下的,就像是javaclasspath。所以,应该先确定ruby版本,然后创建emset,这个gemset是跟ruby对应的。如何查看gemset里面有哪些包,也很简单只要指定了某个gemset,然后运行gem list就可以查看这个gemset里面的gem列。

 现在开始管理gemset

创建gemsetrvm gemset create gemset_name

 然后选择启用哪个gemset:rvm gemset use gemset_name(如果你忘了那个gemset,可以rvm gemset list查看

启用了对应的gemset之后,可以通过rvm gemdir查看正在使用的gemset路径,当然,也可以通过rvm gemset list查看,在列表里会有箭头指向正在使用的gemset

 现在就可以安装各种gem了:gem install rails 

5.rails安装完成之后,创建项目: 

rails new mytestproj 

创建完成之后,我要使用thinmysql,于是: 

cd mytestproj

 vi Gemfile 

注释掉sqlite,增加

 gem ’mysql2’ 

gem ’thin’ 

保存退出,运行: 

bundle install(我在运行时出现mysql没有安装的提示,于是又安装了mysql serverapt-get install mysql-client-core-5.5,再运行这个命令运行正常。 

6.测试启动: rails server thin ok 又出问题了,提示execjs没有js运行时错误,于是sudo apt-get install nodejs 再运行,这次真ok了。 

以上是个人安装过程的流水,笔记一页,以供参考。   

问题收集: 

1.刚启动rails项目时出现了如下的问题: 

rails server thin 

/home/eric/.rvm/gems/ruby-1.9.2-p320@athena-proj/gems/mysql2-0.3.11/lib/mysq.rb:9:in 

`reqire’: libmysqlclient.so.18: cannot open shared object file: No such file or directory - 

/home/eric/.rvm/gems/ruby-1.9.2-p320@athena-proj/gems/mysql2-0.3.11/lib/mysql2/mysql2.so (LoadError) 解决方法: 

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18 如果还是找不到,可能是因为你的服务器是64位的缘故,再做如下处理: 

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18 

 

 

 

如何在ubuntu中搭建ruby开发环境

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
jiangjie190
加入时间:2016-02-19
  关注此人  发短消息
文章分类
jiangjie190”关注的人------(0
jiangjie190”的粉丝们------(1
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!