我有一些用1.8.6
编写的ruby脚本。现在我想升级到1.9.2
或任何其他稳定的版本。
我在这个脚本中有一些gems和ruby in-build库,所以如果我将它升级到ruby 1.9.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
。
答案 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版本和要升级的版本。在两者之间切换并测试脚本是否正常工作。这至少可以为你节省一些时间。