ruby.1.9.1是1.9.x系列第一个稳定发布版,它带来了众多语言和标准库的改进,特别是性能上有很大的提升。
然而,既有代码和Gems的兼容性问题却成为迁移至1.9.1的一大阻碍。造成这种情况的原因多种多样。比如说,ParseTree这个Gem现在不可用的原因就是新的Ruby虚拟机在解析源代码并编译成字节码以后,不再保持一棵Ruby的解析树(parsetree)。局部替代品是跟随1.9.x一同发布的Ripper程序库(比如MacRuby正是使用Ripper进行一些Ruby源代码的解析)。仅仅需要解析源代码的程序库则可以使用Ripper或者ruby_parser。
另外,可能导致兼容性问题的原因还包括语言本身语义上的微小变动。例如,目前block变量范围的调整以及其他一些改动等。
不管原因如何,2007发布的1.9和今年早些时候发布的1.9.1使得让程序库兼容1.9.x的问题越来越受到关注。
根据众多报告,Rails 2.3(或者Rails Edge)似乎是1.9.x兼容的,而早起的发布版还有些问题。Ryan Bigg列出了一些在1.9.1上使用Rails所遇到的问题。Phusion Passenger的网志上宣称,他们最新的版本已经兼容1.9.1,并详细列出了其为此所升级或修正的程序库。一些数据库适配器(adapters)也在此列,例如支持Ruby1.9.1的MySQL适配器2.8.1版本发布。
找寻兼容性问题的一个好地方就是http://isitruby19.com/。这个站点列出了Ruby Gems并允许用户报告他们关于兼容性方面的经验。一个很有趣的功能是Gem名字旁边的绿色条或者红色条,用来表示这个Gem在1.9上是成功了还是失败了。
但是,这个结果的正确性也并非毫无错误,尤其是那些只有一个用户报告的Gems。在本新闻发布时止,ParseTree Gem被标记为“Working”,这和ParseTree的创始人Ryan Davis早些时候的一条消息相违背。而且,在Ruby 1.9.1上对ParseTree进行的快速测试会因失败而输出:
parse_tree.rb:3:in `': ParseTree doesn't work with ruby 1.9.1
然而,在你遇到兼容性问题的时候,还是可以先去http://isitruby19.com看看再说。
使你迟迟没有迁移到Ruby 1.9.1的理由是什么?
查看英文原文:Ruby 1.9.1 Library Compatibility Roundup
分享到:
相关推荐
2、ruby 1.9正式支持内核多线程机制,可以大大提高ruby作为服务端程序的并发处理能力 3、ruby 1.9还引入了纤程这样的多任务并发处理机制,提供了轻量级并发处理能力。 等等。ruby 1.9.1 的下载地址是:ftp://ftp....
由于官方提供的Ruby-FCGI扩展不能在Ruby 1.9.1环境下使用,需要调整其中的FCGI.C源文件才能安装。这里提供的是经过修改后的源码包,可以在Ruby 1.9.1环境下使用。
ruby1.9.1文档和一本pdf, 找了比较久
NULL 博文链接:https://raylinn.iteye.com/blog/650850
PCL1.9.1工具库,包括与之配套的VTK 8.1,用于开发基于PCL的图像界面程序。
mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe
Ruby 1.9.1将是Ruby 1.9系列中的第一个稳定版本。现在就试用,提前体验一个最新、最快、多语言的和大量改进的Ruby以及更清晰的语法。
到2009-06-20为止是最新的ruby编程环境, 这个环境是在Windows 下使用的 你双击这个程序就可以进行安装。
最新的ruby的安装包,包含丰富的插件,如json解析等~~
目前无漏洞版本shiro1.9.1源码+jar
The Windows platform has several options for installing Ruby. The first option is simply installing the compiled binaries. The second option is to use the one-click installer. If you’re unsure about ...
注释的语法与Qt-Doc、KDoc和JavaDoc兼容。Doxygen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。 本资源包括win安装包和PDF文档: doxygen_manual-1.9.1.pdf.zip doxygen-...
jquery-1.9.1版本
jquery-1.9.1.js和jquery-1.9.1.min.js以及jquery-1.9.1-vsdoc.js
SVN 1.9.1 安装包;SVN 1.9.1 安装包;SVN 1.9.1 安装包;
gdal 1.9.1库,修改了gdal不支持中文路径的问题,包括64位和32位。64位的库比较纯净,32位的有些其他dll,用不到的可以删掉~我就比较懒啦~~在找资料的时候,特别希望有人有编译好的64位库,结果找了好久,所以好不...
CocoaPods 1.9.1,下载了很久才下载下来的。从官方的GitHub上下载的版本是 1.9.1,下载下来解压过后直接在复制到/Users/自己电脑的名字/.cocoapods/repos,文件夹字改为master就可以了,百度云下载地址
Jquery 1.9.1js