我在rails项目上有一个现有的ruby。如何找出最初用于应用程序的ruby版本?
编辑: 总结一下这个帖子:如果没有特定于ruby-version的宝石,那么每个ruby都应该有效。 您的所有帖子都很有帮助 - 谢谢。
答案 0 :(得分:6)
如果没有使用特定版本的宝石,我不确定是否可以确定开发过程中使用的确切ruby版本。在任何情况下,应用程序可以针对多个版本正常工作,具体取决于它具有的功能。
如果应用程序有全面的测试,您可以回过头来找到所有测试通过的最新版本。
检查与所使用的Rails版本兼容的Ruby的最低版本也有助于缩小该字段。
答案 1 :(得分:5)
有些人使用rvm来管理项目中的gemsets,在这种情况下.rvmrc包含这些信息,例如: “ruby-1.9.2-p180@projectname”
答案 2 :(得分:4)
上述答案分为两种情况:
对于#2,上面的答案几乎涵盖了它。你们很幸运。
对于#1来说,它更像是一次考古探险。我相信OP正处于这种状况,今天我处于类似情况。
查看gem版本可能是最好的方法。
以下是一些可以使用的线索,供大家参考。 (为了将来偶然发现这篇文章的人的利益):
一般情况下,如果您阅读列出差异的旧“迁移指南1.8.7到1.9”,您可以使用这些差异来帮助您找到线索。参见:
这个问题:
What is the difference between Ruby 1.8 and Ruby 1.9
和这个airbnb博客文章:
http://nerds.airbnb.com/upgrading-from-ree-187-to-ruby-193/
祝你好运!(1):“在Ruby 1.9中使用这个gem是没用的,没有任何意义!System Timer试图解决Ruby 1.8(MRI)中使用的”绿色线程“模型的某些限制。请参阅{{ 3}}了解更多细节。“ SystemTimer的替代品是来自Ruby core的timeout.rb.Oct 21,2011“source:http://ph7spot.com/musings/system-timer
答案 3 :(得分:3)
对我来说,我登录了托管项目的服务器,以查看其中安装的版本:ruby --version
答案 4 :(得分:1)
检查它是否仅使用ruby1.9 gem文件,如ruby-debug19,或相反,仅使用1.8的gem。 看看是否使用了String#force_encoding - 它可以暗示它是1.9。其他1.9特征是不太常用的AFAIK。
答案 5 :(得分:-1)
写一个:放RUBY_VERSION