• ubuntu中Ruby开发集成环境


    因项目需要,主要是考虑到我们项目的高可变性,以及由此产生的高适应性,所以选择用ruby。跟Java相比,ruby的确比较灵活,能写出千变万化的代码。

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

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

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

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

    先总结一下,以备后用。我的os是ubuntu12

    1.安装rvm:

    这个比较简单,直接通过官网(https://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的部分(https://rvm.io/packages/),主要有zlib和openssl,zlib是gem会用到的,openssl是rails中会用到的。所以,先通过官网的命令安装:

    rvm pkg install zlib

    rvm pkg install openssl

    3.安装ruby

    不多说了,直接上:

    rvm install 1.9.2

    rvm install 1.9.3

    上面两个命令都会获取两个版本的最新build。

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

    rvm --default use 1.9.2

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

    现在开始管理gemset:

    创建gemset:rvm 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

    创建完成之后,我要使用thin和mysql,于是:

    cd mytestproj

    vi Gemfile

    注释掉sqlite,增加

    gem 'mysql2'

    gem 'thin'

    保存退出,运行:

    bundle install(我在运行时出现mysql没有安装的提示,于是又安装了mysql server和apt-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/mysql2.rb:9:in `require': 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

  • 相关阅读:
    YUI的treeview组件——带checkbox类型的treeview如何实现disabled功能
    [转载 js] 15个基于Web的HTML编辑器
    YUI3学习笔记 ( 8 )
    js中用于继承的函数extend——摘自《javascript设计模式》
    YUI的treeview组件——带checkbox类型的treeview如何实现disabled功能
    YUI3学习笔记 ( 8 )
    Delphi 2007 代码补全、语句提示的快捷键是什么?
    Fastreport使用经验(转)在Delphi程序中访问报表对象
    cxGrid使用记录
    Delphi编程地一些小程序
  • 原文地址:https://www.cnblogs.com/ericchen/p/2536161.html
Copyright © 2020-2023  润新知