`
renzhen
  • 浏览: 247952 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

下决心把Ruby环境升级到1.9,问题和解决方法

 
阅读更多

        Ruby并不是我的工作语言,但是在我的工作中起了很大的作用,我陆陆续续的使用它写了很多脚本帮我节省了很多时间,以前我一直使用JRuby作为我执行环境,使用的是其默认的1.8版本的代码,1.9版本的Ruby已经出来很久了,反响也不错,但我一直没有下决心更换,不过最近我下决心准备更换到1.9版本。

       首先是我难以忍受JRuby的启动速度,虽然我根据网上的方法试了很多,比如使用nailgun、改java参数等,(具体实践可以参看:http://blog.headius.com/2010/03/jruby-startup-time-tips.html),但都收效很少,所以决定下载一个原生Ruby作为补充,版本自然是最新的1.9.3。其次,JRuby 1.7以后的版本将使用1.9模式作为默认的执行模式,说明Ruby 1.9即将成为主流,应该顺乎潮流。

       将环境改为1.9步骤不难,只需要

       1.下载安装原生Ruby 1.9.3

       2. 在使用jruby时命令行打上--1.9 ,使用1.9模式执行

       3. 修改原来脚本代码以适应Ruby1.9

 

       很庆幸,Ruby1.9对1.8的代码的兼容性很好,很多代码基本上不用修改就可以直接执行。slideshare上有一篇ppt有详细的描述,很值得一读:http://www.slideshare.net/tomaspavelka/migrating-to-ruby19

 

      我主要遇到以下问题:

      1. 文件编码导致原生Ruby执行报错,解决方法,在文件头加上:

#encoding: utf-8
   

       2. require 脚本相同目录下rb文件找不到,解决方法:使用绝对路径或./XXX,比如:

      1.8中:

 require 'commonlib'
 

 

       1.9中:

require './commonlib'
   

       3. 读取外部文件到字符串报错,解决方法:修改默认外部字符编码为utf-8

Encoding.default_external = "UTF-8"

 

      自从用了有道笔记后就没什么动力写博客了,有时候偶尔有所得就随手记录下,相比博客不需要写来龙去脉,不用想措辞,很方便。最近在robbin微博上看到他要开发一个知识管理分享的社区,又发博文说要把iteye改版,颇有雄心,于是发文一篇以表示支持。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics