补充一些,也是我前段时间折腾出的心得,分享给大家:
其实这里面有三个 rails 可执行文件
一个是 /home/hexudong/.rvm/gems/ruby-1.9.2-p320/bin/rails, 他其实是非常重要的一个东西,他会检查你当前是否存在 Gemfile, 如果存在就找到 Gemfile 里面相关的 railtie,若没有就用最新的 rails 版本。找到相应的 railtie 版本后找到第二个可执行 rails,比如/home/zgm/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.5/bin/rails 这个,是因为我在执行 rails 的时候在一个 rails 项目里面,且这个项目用的是 rails-3.2.5, 这个会找到一个 cli.rb 的文件,他来判断是否当前在 rails 目录或其子目录下面,如果是就找到第三个 scrict/rails,这之后会发生什么就取决于你 rails 后面的参数是什么了。其实一个 rails 命令要跑的东西真是超多啊,但是都在背后罢了,要想知道其中的奥秘,快去读读代码吧