在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
因项目需要,主要是考虑到我们项目的高可变性,以及由此产生的高适应性,所以选择用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 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 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论