如何在安装Rails 3时使用Rails 2.3应用程序生成器?

澄清:只有一个rails命令,它是从最新的Rails gem安装的,它是Rails 3 ATM。 但是,我需要创建一个Rails 2.3应用程序。

使用NoMethodError运行ruby /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.8/bin/rails失败,我想因为它也尝试使用3.0.0版本中的gem。

卸载gem会产生一些奇怪的结果:

 $ gem uninstall rails-3.0.0 ERROR: While executing gem ... (Gem::InstallError) cannot uninstall, check `gem list -d rails-3.0.0` $ gem list -d rails-3.0.0 *** LOCAL GEMS *** (and no gems here) 

我该怎么办?

最简单的方法是:

  1. 为项目创建目录
  2. 在那里创建一个Gemfile

     gem "rails", "2.3.9" gem "sqlite3-ruby", :require => "sqlite3" 
  3. 运行bundle install

  4. 运行bundle exec rails . 在当前路径中创建应用程序

你甚至不需要rvm来做这件事。

(我假设是2.3.11,因为它是最新的)

rails _2.3.11_ new app将为您完成此操作,而您无需进行任何操作。

(因为我没有足够的Stack Overflow信誉并且无法直接回复答案,所以必须发表评论。)

对于现在运行rails 3的人来说,现在需要“new”命令来创建新的rails应用程序。 因此,“new”将需要附加到命令的末尾。

因此,对于Leonid Shevtsov的回答,第4步: bundle exec rails new .

罗伯特·斯派克的回答是: rails new .

安装rvm然后创建一个新的gemset ,以便Rails 2被隔离。

或者,转到您希望Rails 2应用程序所在的目录,创建一个类似Rails 3应用程序的Gemfile,但指定gem "rails", "~> 2.3"并运行bundle install ,您现在应该可以发布rails .