-4

我有一些用1.8.6. 现在我想升级到1.9.2任何其他稳定的版本。

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

4

2 回答 2

1

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

如果你require local_file在 1.8.x 中你会发现当前目录已经从加载路径中移除了,1.9.xrequire_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 中的旧行为,使用join1.8.7 中的新行为inspect

其他变化的回顾

于 2012-09-25T09:18:24.777 回答
1

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

了不起的 Wayne E. Seguin 先生也遇到了这个问题,并创造了一个很好的工具来解决这个问题,称为rvm

简而言之,rvm 允许您安装不同版本的 ruby ​​(例如 1.8.7 或 1.9.2)并通过简单的

rvm use 1.8.7

你应该去https://rvm.io/学习如何在你的机器上安装 rvm。然后你可以安装你当前的 ruby​​ 版本和你想升级到的那个。在两者之间切换并测试您的脚本是否正常工作。这至少可以为您节省一些时间。

于 2012-09-25T09:40:45.830 回答