Rails - 我机器上的不同版本

时间:2009-11-12 05:42:41

标签: ruby-on-rails

我想知道rails版本。

我在项目目录中:

  • 当我运行“rails --version”时,我得到v2.3.4。
  • 当我运行“script / about”时,我得到一个不同的答案,v2.1.1。
  • 在environment.rb中,我有一行“RAILS_GEM_VERSION ='2.1.1'....”

好的,那导轨v2.1.1在哪里?我想也许在供应商,但不,如果有?我知道我安装的(v2.3.4。)导轨位于/ usr / bin / rails。

有人为我清楚了吗?

3 个答案:

答案 0 :(得分:4)

有几种可能性。

./ config / environment.rb有一个常量RAILS_GEM_VERSION,除非你覆盖该值,否则它会被使用,它通常表示你的应用程序是用哪个版本构建的。当您运行script / about时,默认情况下应显示该常量值。

gem list rails将显示本地安装的版本,并且您可以在任何给定时间使用多个版本。

最后,Rails应用程序可以“冻结”当前版本的rails,以便他们可以通过执行

为其应用程序指望正确版本的rails库。
rake rails:freeze:gems

您可以通过运行

撤消该操作
rake rails:unfreeze

您还可以通过键入rake rails:update来更新配置,或冻结到rake rails:freeze:edge RELEASE=2.2.2的特定版本。

答案 1 :(得分:2)

Rails是一个红宝石 - 您可以通过gem list rails查看所有已安装的版本。它应该安装在你的gems目录中。

答案 2 :(得分:0)

/ usr / bin / rails是安装的rails版本的项目创建脚本的包装器。它只是一个可执行的ruby脚本,它使用Ruby Gems来选择正确版本的rails。

安装导轨宝石的位置取决于宝石的安装位置。

要找出存储宝石的位置,请运行以下ruby语句。在irb或可执行脚本中。

require 'rubygems'
puts Gem.path.join("\n")

它应打印出至少两个目录。主文件夹中的一个本地目录,用于安装没有管理员权限的gem,以及一个安装了管理员权限的gems的全局目录。您的rails gems将位于其中一个文件夹中。

在我的系统上输出/usr/lib/ruby/gems/1.8和〜/ .gem / ruby​​ / 1.8

相关问题