2012-09-25 222 views
-4

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

我在这个脚本中有一些宝石和红宝石内置库,所以如果我升级到红宝石1.9.2我可以面对什么样的问题?

+1

只是升级,看看会发生什么。如果出现问题,您将收到错误消息。 – three

回答

1

在Ruby中,我们很多人面对这类情况,在升级到新的版本可能会破坏你的代码,其应用在一老一做工精细。

伟大的先生韦恩大肠杆菌塞金也面对它,并创造了一个伟大的工具来解决这个叫rvm

简而言之RVM让您安装不同版本的Ruby(1.8.7或1.9.2为例),并且这些之间轻松切换用一个简单的

rvm use 1.8.7 

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

1

这几句是常见的我遇到升级时:

如果require local_file在1.8.x的你会发现,在当前目录已经从负载路径中移除,1.9.x的介绍require_relative用于此目的。

字符串可以稍微不同地处理。

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

在1.9.2中字符串数组与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.8.7使用inspect旧的行为在1.9.2使用join新的行为。

A review of other changes