Как преобразовать приложение rails 4 в приложение Rails 3
Я создал приложение Rails в RoR4, и мне нужно развернуть его на сервере с версией 3.2.13. При попытке запустить сервер рельсов я получаю сообщение об ошибке. Как мне преобразовать мое приложение для запуска в более старой версии rails?
Вот как выглядит мой гемфайл:
source 'https://rubygems.org'
gem 'rails', '4.0.2'
gem 'sqlite3'
#gem 'pg'
gem 'sass-rails' '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jquery-turbolinks'
gem 'jbuilder', '~> 1.2'
gem 'acts-as-taggable-on'
group :doc do
gem 'sdoc', require: false
end
group :development, :test do
end
Это ошибка, которую я получаю при попытке запустить сервер rails:
dhcp-10-156-44-120:icon-library Lewis$ rails s
Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
# Default: /Users/yudi/.rvm/rubies/ruby-2.0.0-p353/bin/ruby
-b, [--builder=BUILDER] # Path to a application builder (can be a filesystem path or URL)
-m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path or URL)
[--skip-gemfile] # Don't create a Gemfile
[--skip-bundle] # Don't run bundle install
-G, [--skip-git] # Skip Git ignores and keeps
-O, [--skip-active-record] # Skip Active Record files
-S, [--skip-sprockets] # Skip Sprockets files
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
# Default: sqlite3
-j, [--javascript=JAVASCRIPT] # Preconfigure for selected JavaScript library
# Default: jquery
-J, [--skip-javascript] # Skip JavaScript files
[--dev] # Setup the application with Gemfile pointing to your Rails checkout
[--edge] # Setup the application with Gemfile pointing to Rails repository
-T, [--skip-test-unit] # Skip Test::Unit files
[--old-style-hash] # Force using old style hash (:foo => 'bar') on Ruby >= 1.9
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend] # Run but do not make any changes
-q, [--quiet] # Suppress status output
-s, [--skip] # Skip files that already exist
Rails options:
-h, [--help] # Show this help message and quit
-v, [--version] # Show Rails version number and quit
Description:
The 'rails new' command creates a new Rails application with a default
directory structure and configuration at the path you specify.
You can specify extra command-line arguments to be used every time
'rails new' runs in the .railsrc configuration file in your home directory.
Note that the arguments specified in the .railsrc file don't affect the
defaults values shown above in this help message.
Example:
rails new ~/Code/Ruby/weblog
This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
See the README in the newly created application to get going.
dhcp-10-156-44-120:icon-library Lewis$
1 ответ
Просто дикая догадка, но мне кажется, что ваша проблема может быть в том, что ваш сервер не распознает ваш rails s
команда, потому что вы используете неправильные версии ruby и rails для вашего приложения.
Первым шагом будет запуск в терминале:
ruby -v
Допустим, что ваша версия ruby 1.9.3, тогда вывод команды выше: ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
Добавьте свою рубиновую версию в начало вашего Gemfile:
ruby "1.9.3"
Добавьте желаемую версию рельсов в Gemfile:
gem 'rails', '3.2.13'
После этого запуска bundle install
Вам, вероятно, придется вносить намного больше изменений в ваше приложение rails, но это должно заставить ваш сервер по крайней мере распознать ваше приложение.