Rails 一个奇怪的问题,关于 rails -v

mr_night · 2015年09月09日 · 最后由 shallmentmo 回复于 2015年09月09日 · 1844 次阅读

环境:cent OS 6.5 背景:rails 的部署环境安装中,rvm 安装完毕,ruby2.0.0 安装完毕 接着安装 rails:gem install rails -v 3.2.21 安装完毕

然后尝试 rails new testapp 来建新一个空的 project,测试环境是否能用。 至此一切 ok, 接下来,提示一些 gem 需要 install,。。。。 提示 sass-rails 需要安装,当时直接用 gem install sass-rails 来安装来,看起来也 ok, 但是问题来了,安装 sass-rails 时没有指定版本,结果装了最新的 5.0.4 然后还安装了一系列依赖, 忽然看到一些 gem 被升级了,比如 actionview,railities,activesupport 都被装了一个 4.2.4 版本(其中大部分是 2 个版本共存 4.2.4 和 3.2.21)。。。心里一惊。。 但是 rails 这个 gem 还是 3.2.21

用 rails -v 测试了一下,果然,妥妥的 4.2.4.。。。 但是奇怪的是进到 app 目录下面 rails -v 结果居然还是 3.2.31.。。。。这是为何? 难道目录下如果有 Gemfile, rails 的版本直接是 Gemfile 里的版本号咩?猜测》。。。。

如下
[root@iZ235ixh971Z tester]# pwd
/home/tester
[root@iZ235ixh971Z tester]# rails -v
Rails 4.2.4
[root@iZ235ixh971Z tester]# which rails
/usr/local/rvm/gems/ruby-2.0.0-p647/bin/rails
[root@iZ235ixh971Z tester]# cd hoge/
[root@iZ235ixh971Z hoge]# rails -v
Rails 3.2.21
[root@iZ235ixh971Z hoge]# which rails
/usr/local/rvm/gems/ruby-2.0.0-p647/bin/rails
[root@iZ235ixh971Z hoge]#

bundle install 看 Gemfile

Gemfile.lock 会锁了版本吧,看你 Gemfile.lock 里面 rails 是什么版本

需要 登录 后方可回复, 如果你还没有账号请 注册新账号