我有一些红宝石脚本写在1.8.6
。现在我想升级到1.9.2
或任何其他稳定的版本。升级红宝石1.8.6到红宝石1.9.2
我在这个脚本中有一些宝石和红宝石内置库,所以如果我升级到红宝石1.9.2
我可以面对什么样的问题?
我有一些红宝石脚本写在1.8.6
。现在我想升级到1.9.2
或任何其他稳定的版本。升级红宝石1.8.6到红宝石1.9.2
我在这个脚本中有一些宝石和红宝石内置库,所以如果我升级到红宝石1.9.2
我可以面对什么样的问题?
在Ruby中,我们很多人面对这类情况,在升级到新的版本可能会破坏你的代码,其应用在一老一做工精细。
伟大的先生韦恩大肠杆菌塞金也面对它,并创造了一个伟大的工具来解决这个叫rvm。
简而言之RVM让您安装不同版本的Ruby(1.8.7或1.9.2为例),并且这些之间轻松切换用一个简单的
rvm use 1.8.7
你应该去https://rvm.io/并学习如何在您的机器上安装rvm。然后你可以安装你当前的ruby版本和你想升级的版本。在两者之间切换并测试脚本是否正常工作。这至少应该为你节省一些时间。
这几句是常见的我遇到升级时:
如果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
新的行为。
只是升级,看看会发生什么。如果出现问题,您将收到错误消息。 – three