在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04下Ruby的安装 http://www.linuxidc.com/Linux/2013-06/85734.htm 公司有项目组进行系统重构,采用了Ruby On Rails框架,我也抽出时间学习了一下,并对几个原来用Java开发的定时任务、消息监听进行了ruby改造,学习过程中主要参考两本书:《Programming Ruby中文版(第二版)》 (下载见http://www.linuxidc.com/Linux/2014-04/100254.htm )、《Ruby on Rails教程》(PDF下载见 http://www.linuxidc.com/Linux/2014-04/100253.htm ),开发工具:vim、RubyMine。 安装Linux下:安装RVM和GEM后,之后所有的安装,都可以交给RVM和GEM了,安装RVM默认会装好GEM。 (1)curl -L https://get.rvm.io | bash -s stable (2)source /etc/profile.d/rvm.sh ,这个脚本的目的是把rvm相关加入$PATH路径 安装完毕后界面如下(这个是从github下载代码,国内非常慢,多尝试几次): 安装RVM之后,安装ruby组件: (1)安装ruby:rvm install ruby 这一步rvm会帮我们自动安装很多linux依赖包(如果linx本身没有的话),如果自动装不上,也可以根据屏幕提示收到安装,比如可能有提示进行如下安装: yum install -y libyaml-devel autoconf gcc-c++ readline-devel zlib-devel openssl-devel automake libtool bison 网速不好,机器太烂(比如我的单CPU1G内存虚拟机),可能会花很多时间(比如2个小时),先有个心理准备 (2)安装rails:gem install rails 输入ruby -v ,显示ruby的版本,可以看到ruby已经装好。 我们也可以通过which ruby,查看ruby程序的位置。之所以直接输入ruby就能运行,是因为rvm已经把ruby加到$PATH环境变量中了。 我们输入echo $PATH,可以看到$PATH环境变量中已经包含ruby的路径了,如下:/usr/local/rvm/bin 。 HelloWorld使用irb,写出第一行代码:puts "Hello, World!" 也可以编辑一个文件:test.rb,内容也只有一行:puts "Hello,World",然后再命令行运行:ruby test.rb,可以看到输出了正确的结果。 我们也可以这样设置test.rb,内容如下: #!/usr/local/rvm/bin/ruby puts "Hello,World" 然后再命令行给test.rb可执行的权限:chmod 777 test.rb,然后我们在命令行输入:./test.rb,可以看到,输出了正确的结果。 Mysql devel&client组件(1)yum -y install mysql-devel 由于我的rhel6.2机器yum下面有错误的.repo文件,导致我一直连不上yum源服务器,执行了如下操作: cd /etc/yum.repos.d/ rm -fr 无用的.repo文件 yum clean all vim /etc/yum.repos.d/rhel-source.repo(这个文件的内容如下) [rhel-source] [rhel-source-beta] (2)gem install mysql2 经过以上两步,就可以连接mysql数据库了,例子代码如下: require 'mysql2' 定时任务组件 rufus-scheduler 支持cron表达式,参考网址:http://www.linuxidc.com/Linux/2014-04/100244.htm 先安装:gem install rufus-scheduler log4r require 'logger' 就可以使用了,参考网址: http://www.linuxidc.com/Linux/2014-04/100249.htm xml操作 例子代码如下: buffer = ""; 参考网址: http://builder.rubyforge.org/ http://www.linuxidc.com/Linux/2014-04/100243.htm http://www.linuxidc.com/Linux/2014-04/100248.htm hessian 安装hessian:gem install hessian2 hessian代码示例: require 'hessian2' client = Hessian2::HessianClient.new(url) client.xxx 程序完成及部署 源代码下载地址: http://pan.baidu.com/s/1dDejscx 历时3天,完成我的第一个ruby程序,是改写的一个定时xml生成程序,干的不错! 一点小经验积累,如下: initialize里面,打开数据库连接,是不可取的。如果程序执行很长时间,下次来用这个连接时,可能已经关闭了,最好用时open,用完close,不知道ruby里面有没有连接池的概念,可以进一步提高性能; 测试环境实践发现,hessian协议性能貌似低于dubbo协议,大约dubbo 2-3倍于 hessian,这个程序是2.6倍,很简单的请求,平均dubbo一次是4-5毫秒,hessian一次是11-12毫秒; 生产环境实际运行,hessian协议性能貌似和dubbo协议基本一致,运行了约20万次,总计消耗时间7分钟和8分钟的区别。 RabbitMQ的Ruby客户端:bunny 安装:gem install bunny 开始Rails之旅推荐PDF教程: http://www.linuxidc.com/Linux/2014-04/100253.htm 有这个可以说足够了。 sqlliteLinux机器可能没有安装Sqllite-devel,安装一下吧:yum install sqlite-devel JavaScript服务器解释引擎linux机器可能没有安装JavaScript的服务器解释引擎,安装一下吧:gem install execjs gem install therubyracer,貌似这两步之后也不行,我的机器是REHL6.2,需要安装node.js才行,步骤如下: wget http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz 参考文章:http://www.linuxidc.com/Linux/2014-04/100252.htm Git Git安装:Getting Started - Installing Git Installing GitLet’s get into using some Git. First things first—you have to install it. You can get it a number of ways; the two major ones are to install it from source or to install an existing package for your platform. Installing from SourceIf you can, it’s generally useful to install Git from source, because you’ll get the most recent version. Each version of Git tends to include useful UI enhancements, so getting the latest version is often the best route if you feel comfortable compiling software from source. It is also the case that many Linux distributions contain very old packages; so unless you’re on a very up-to-date distro or are using backports, installing from source may be the best bet. To install Git, you need to have the following libraries that Git depends on: curl, zlib, openssl, expat, and libiconv. For example, if you’re on a system that has yum (such as Fedora) or apt-get (such as a Debian based system), you can use one of these commands to install all of the dependencies:
When you have all the necessary dependencies, you can go ahead and grab the latest snapshot from the Git web site:
Then, compile and install:
After this is done, you can also get Git via Git itself for updates:
Installing on LinuxIf you want to install Git on Linux via a binary installer, you can generally do so through the basic package-management tool that comes with your distribution. If you’re on Fedora, you can use yum:
Or if you’re on a Debian-based distribution like Ubuntu, try apt-get:
Installing on MacThere are two easy ways to install Git on a Mac. The easiest is to use the graphical Git installer, which you can download from the Google Code page (see Figure 1-7):
The other major way is to install Git via MacPorts (
You don’t have to add all the extras, but you’ll probably want to include +svn in case you ever have to use Git with Subversion repositories (see Chapter 8). Installing on WindowsInstalling Git on Windows is very easy. The msysGit project has one of the easier installation procedures. Simply download the installer exe file from the GitHub page, and run it:
After it’s installed, you have both a command-line version (including an SSH client that will come in handy later) and the standard GUI. Note on Windows usage: you should use Git with the provided msysGit shell (Unix style), it allows to use the complex lines of command given in this book. If you need, for some reason, to use the native Windows shell / command line console, you have to use double quotes instead of simple quotes (for parameters with spaces in them) and you must quote the parameters ending with the circumflex accent (^) if they are last on the line, as it is a continuation symbol in Windows. Git配置与使用:与 推送到GitHub:教程见 注意:你必须先注册一个GitHub.Com账户,如果使用SSH方式进行推送,则需要创建SSH秘钥,需要在GitHub中建立Repository。 SSH推送到GitHub的命令如下: git remote add origin [email protected]:<username>/first_app.git <username>要替换成你在GitHub注册的用户名,master是你的分支名称,现在我们可以在GitHub中看到这个master分支了: https://github.com/pumadong/first_app 关于Git,在Windows及Mac下面,都有GUI程序可用,在linux下面,貌似只有git命令可用了。 建立一个Raise项目并推送到GitHub发布到云部署平台herokuheroku.com注册一个账户
wget https://toolbelt.heroku.com/install.sh --no-check-certificate
chmod +x install.sh
./install.sh
echo 'PATH="/usr/local/heroku/bin:$PATH"' >> /etc/profile
通过以上步骤,安装完成heroku的linux客户端,下面开始部署:
heroku login
cd /data/ruby/rails_project/first_app
heroku create
注意:执行这些命令,会自动把~/.ssh/id_rsa.pub里面的公钥,写到您的heroku账户的SSH Keys里面,如果有过ssh重新生成等,需要到账户里面更新。貌似heroku和github用的是一个公钥。
下面,我们发布程序:git push heroku master ,正常的话,已经部署成功了,我的url如下:
http://damp-citadel-7023.herokuapp.com/
使用scoffold快速建立一个用户微博程序演示从头到尾建立一个大型的示例程序Windows下安装rubyinstaller安装包下载地址:http://pan.baidu.com/s/1dDejscx 官网下载:http://rubyinstaller.org/downloads 执行rubyinstaller-2.0.0-p353-x64.exe,进行安装,安装完毕后,cmd里面执行:ruby -v,显示版本号,说明ruby安装成功; 执行gem -v,显示版本号,说明RubyGems(Ruby程序包管理器)也已经被默认安装好了; DevKit 安装DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,解压到一个固定的位置,使用后不能变换位置,更多参考: https://github.com/oneclick/rubyinstaller/wiki/Development-Kit 步骤大致如下: 1) 将下载 DevKit 解压到 D:\DevKit 目录。 Rails安装完以上后,可以安装rails了: 从CMD提示窗口输入指令:gem install rails 开始安装rails。 参考网址:http://www.linuxidc.com/Linux/2014-04/100250htm Mysql2拷贝libmysql.dll、libmysql.lib到 D:\Ruby\bin目录下,执行:
gem install mysql2 -- '--with-mysql-lib="E:\Program Files\MySQL\MySQL Server 5.5\lib" --with-mysql-include="E:\Program Files\MySQL\MySQL Server 5.5\include"'
或者
gem install mysql2 -- '--with-mysql-dir="E:\Program Files\MySQL\MySQL Server 5.5"' 就可以安装成功了,但是使用时(require 'mysql2')报错,如下图:
出现的原因是的libmysql.lib和mingw64-gcc不兼容导致的,于是卸载mysql2:gem uninstall mysql2。
gendef.exe,这个从https://structure-svm-map.googlecode.com/files/svm-map-win.zip下载,解压后在python-mingw-lib目录里面。
拷贝到devkit/mingw/bin下,我之所以考到这里,是因为dlltool.exe也在这里,都放到path里方便。 然后运行:gendef.exe libmysql.dll。 这条命令会生成libmysql.def文件。 生成这个libmysql.def文件之后���就可以生成新的lib了。 dlltool -v –dllname libmysql.dll –def libmysql.def –output-lib libmysql.lib。 拷贝libmysql.lib到D:\Ruby\bin目录下面,重新安装, 都OK了。 注意事项如果在Windows下面编辑的文件,拿到Linux下面未必能正确运行,因为Windows的换行符到Linux里面是^M,而Linux的是$,对于Windows下面编辑的文件,可以用如下命令进行处理:
dos2unix ruby_start
是否是这种情况,可以通过:cat ruby_start -A看到
到现在,再Ruby的环境中,应该也浸淫了至少2周的时间了吧,对Ruby基本语法,运行环境,生态环境,应该都有一定了解了吧。
开始进入IDE的世界吧。就用RubyMine,现在的版本是6了。经过前几周记事本写代码的世界,现在改用IDE,是不是发现工作变得轻松起来了呢。
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论