Как использовать генератор приложений Rails 2.3, когда у меня установлен Rails 3? - PullRequest
2 голосов
/ 14 сентября 2010

, чтобы уточнить: есть только одна команда rails, которая устанавливается из последней версии Rails, которая является Rails 3 ATM.Однако мне необходимо создать приложение Rails 2.3.

Запуск ruby /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.8/bin/rails завершается неудачно с NoMethodError, я полагаю, потому что он также пытается использовать гемы из версии 3.0.0.

Удаление драгоценного камня дает странные результаты:

$ 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 ]

4 голосов
/ 14 сентября 2010

Самый простой способ сделать это:

  1. Создать каталог для проекта
  2. Создать там Gemfile, содержащий

    gem "rails", "2.3.9"
    gem "sqlite3-ruby", :require => "sqlite3"
    
  3. Выполнить bundle install

  4. Выполнить bundle exec rails ., чтобы создать приложение по текущему пути

Вам даже не нужен rvm для выполненияэто.

2 голосов
/ 22 мая 2011

(я полагаю, 2.3.11, учитывая, что это последняя версия)

rails _2.3.11_ new app сделает это для вас, без вас.

1 голос
/ 22 мая 2011

(Нужно было сделать комментарий, так как у меня недостаточно кредитов переполнения стека и я пока не могу напрямую отвечать на ответы.)

Для тех, кто использует rails 3, теперь требуется команда «new» для создания новых приложений rails. Как таковой «новый» необходимо будет добавить в конце команды.

Итак, ответ Леонида Шевцова, Шаг 4: bundle exec rails new .

А за ответ Роберта Шпайхера: rails new .

0 голосов
/ 14 сентября 2010

Установите rvm , а затем создайте новый gemset , чтобы Rails 2 был изолирован.

Или перейдите в каталог, в котором вы хотите разместить приложение Rails 2, создайте Gemfile, как приложение Rails 3, но укажите gem "rails", "~> 2.3" и запустите bundle install, и теперь вы сможете выпускать rails .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...