2010-09-14 82 views
2

澄清:只有一個rails命令,它從最新的Rails gem(Rails 3 ATM)安裝。不過,我需要創建一個Rails 2.3應用程序。如何在安裝Rails 3時使用Rails 2.3應用程序生成器?

運行ruby /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.8/bin/rails失敗,出現NoMethodError錯誤,我猜想是因爲它也嘗試使用3.0.0版本中的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) 

我該怎麼辦?

回答

4

的做到這一點最簡單的方法是:

  1. 該項目創建目錄
  2. 創建Gemfile有含

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

  4. 運行bundle exec rails .在當前路徑

你甚至都不需要RVM爲此創建一個應用程序。

+0

偉大的解決方案人感謝 – 2013-12-22 01:38:18

0

安裝rvm然後創建一個新的gemset,以便Rails 2被隔離。

或者,轉到您希望您的Rails 2應用程序是這個目錄中,創建一個Gemfile中像一個Rails 3應用程序,但指定gem "rails", "~> 2.3"和運行bundle install,您現在應該能夠發出rails .

+0

不是'rails .',而是'bundle exec rails'' - 默認情況下沒有拾取bundle。 – 2010-09-14 07:51:21

1

(不得不作出評論,因爲我沒有足夠的堆棧溢出名氣並不能直接給答案迴應呢。)

對於運行軌道3人現在的「新建」命令是現在創建新的rails應用程序所需。因爲這樣的「新」將需要附加到命令的末尾。

所以對於獅子座Shevtsov的回答,第4步:bundle exec rails new .

而對於羅伯特·斯派克的回答是:rails new .

2

(我假設2.3.11,因爲它是最新的)

rails _2.3.11_ new app將做到這一點的你沒有你不得不嘮叨。