将ruby 1.8.6升级到ruby 1.9.2

时间:2012-09-25 06:13:26

标签: ruby-on-rails ruby

我有一些用1.8.6编写的ruby脚本。现在我想升级到1.9.2或任何其他稳定的版本。

我在这个脚本中有一些gems和ruby in-build库,所以如果我将它升级到ruby 1.9.2我可以遇到什么样的问题?

2 个答案:

答案 0 :(得分:1)

这些是我在升级时遇到的常见问题:

如果您在1.8.x中require local_file,您会发现当前目录已从加载路径中删除,1.9.x为此目的引入了require_relative

字符串的处理方式略有不同。

1.9.2 c?
=> c
1.8.7 c?
=> 99

在1.9.2中,Array to string与1.8.7 Array.inspect相同,即添加标点符号。

1.9.2 [1,2,3].to_s
=> 1,2,3
1.8.7 [1,2,3].to_s
=> 123

对于1.9.2中的旧行为,使用join对1.8.7中的新行为使用inspect

A review of other changes

答案 1 :(得分:1)

在Ruby中,我们很多人都面临着这些类型的情况,升级到更新的版本可能会破坏以前在较旧版本中工作正常的代码。

梦幻般的Wayne E. Seguin先生也面对它,并创造了一个很好的工具来解决这个问题,叫做 rvm

简而言之,rvm可让你安装不同版本的ruby (例如1.8.7或1.9.2),并轻松在这些之间切换,只需

rvm use 1.8.7

您应该转到https://rvm.io/并了解如何在您的计算机上安装rvm。然后,您可以安装当前的ruby版本和要升级的版本。在两者之间切换并测试脚本是否正常工作。这至少可以为你节省一些时间。