2012-06-25 3 views
0

В рамках более крупного проекта мне было поручено перенести некоторые существующие сайты Ruby on Rails (построенные на старой версии refinerycms 0.9.6.34, по крайней мере, это версия, указанная в Gemfile включая источник). Обычно я не работаю с Ruby, поэтому я немного потерял. Предыдущие разработчики просто передали последний дамп git, а также дамп db.Миграция сайта Ruby от EngineYard до Heroku

Я работаю сначала, пытаясь заставить сайт работать локально на локальной машине Ubuntu 11.10, прежде чем подталкивать до установки теста Heroku. Если можно просто нажать прямо на Heroku с файлами, которые они дали, то я могу попробовать это, но я понимаю, что мне нужно, чтобы все работало, а затем используйте инструменты Heroku для развертывания.

Предыдущие разработчики сказали, что они используют рубин 1.8.7 так в Ubuntu я сделал следующее:

aptitude install ruby1.8 ruby1.8-dev ruby1.8-full 
aptitude install rubygems1.8 

Я восстановил базу данных и в каталоге конфигурации я внес изменения в database.yml, чтобы указать на восстановленную базу данных.

Когда я пытаюсь запустить «пакет установки» из корня извлеченного исходного директории я получаю:

Invalid gemspec in [/var/lib/gems/1.8/specifications/mail-2.4.4.gemspec]: invalid date format in specification: "2012-03-14 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/mime-types-1.18.gemspec]: invalid date format in specification: "2012-03-21 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/sass-rails-3.2.5.gemspec]: invalid date format in specification: "2012-03-19 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/jquery-rails-2.0.2.gemspec]: invalid date format in specification: "2012-04-03 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/mail-2.4.4.gemspec]: invalid date format in specification: "2012-03-14 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/mime-types-1.18.gemspec]: invalid date format in specification: "2012-03-21 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/sass-rails-3.2.5.gemspec]: invalid date format in specification: "2012-03-19 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/jquery-rails-2.0.2.gemspec]: invalid date format in specification: "2012-04-03 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/mail-2.4.4.gemspec]: invalid date format in specification: "2012-03-14 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/mime-types-1.18.gemspec]: invalid date format in specification: "2012-03-21 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/sass-rails-3.2.5.gemspec]: invalid date format in specification: "2012-03-19 00:00:00.000000000Z" 
Invalid gemspec in [/var/lib/gems/1.8/specifications/jquery-rails-2.0.2.gemspec]: invalid date format in specification: "2012-04-03 00:00:00.000000000Z" 
Fetching gem metadata from https://rubygems.org/....... 
Fetching gem metadata from https://rubygems.org/.. 
Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.3.6) 
Using activesupport (3.2.3) 
Using builder (3.0.0) 
Using activemodel (3.2.3) 
Using erubis (2.7.0) 
Using journey (1.0.3) 
Using rack (1.4.1) 
Using rack-cache (1.2) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Installing tilt (1.3.3) 
Using sprockets (2.1.3) 
Using actionpack (3.2.3) 
Installing mime-types (1.18) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Installing mail (2.4.4) 
Using actionmailer (3.2.3) 
Using arel (3.0.2) 
Using tzinfo (0.3.33) 
Using activerecord (3.2.3) 
Using activeresource (3.2.3) 
Using acts_as_indexed (0.7.8) 
Using awesome_nested_set (2.1.3) 
Using babosa (0.3.7) 
Using bcrypt-ruby (3.0.1) 
Using coffee-script-source (1.3.3) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using json (1.7.3) 
Using rdoc (3.12) 
Using thor (0.14.6) 
Using railties (3.2.3) 
Using coffee-rails (3.2.2) 
Using orm_adapter (0.0.7) 
Using warden (1.1.1) 
Using devise (2.0.4) 
Using dragonfly (0.9.12) 
Using friendly_id (4.0.6) 
Using paper_trail (2.6.3) 
Using globalize3 (0.2.0) 
Installing jquery-rails (2.0.2) 
Using bundler (1.1.4) 
Using rails (3.2.3) 
Using sass (3.1.19) 
Installing sass-rails (3.2.5) 
Using truncate_html (0.5.5) 
Using uglifier (1.2.4) 
Using will_paginate (3.0.3) 
Using refinerycms-core (2.0.4) 
Using refinerycms-authentication (2.0.4) 
Using refinerycms-dashboard (2.0.4) 
Using refinerycms-images (2.0.4) 
Using seo_meta (1.3.0) 
Using refinerycms-pages (2.0.4) 
Using refinerycms-resources (2.0.4) 
Using refinerycms (2.0.4) 
Using routing-filter (0.3.1) 
Using refinerycms-i18n (2.0.0) 
Using sqlite3 (1.3.6) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. 

Очевидно, что ошибки с неверными gemspec должны быть решены, но другая вещь, которая беспокоит меня это линии:

Using refinerycms-core (2.0.4) 
Using refinerycms-authentication (2.0.4) 
Using refinerycms-dashboard (2.0.4) 
Using refinerycms-images (2.0.4) 
Using seo_meta (1.3.0) 
Using refinerycms-pages (2.0.4) 
Using refinerycms-resources (2.0.4) 
Using refinerycms (2.0.4) 
Using routing-filter (0.3.1) 
Using refinerycms-i18n (2.0.0) 

Поскольку версия refinerycms, указанная в Gemfile, была 0.9.6.34.

Когда дело доходит до мира рубинов, я немного потерялся, поэтому любая помощь будет принята с благодарностью.

Спасибо,

UPDATE Как просил Gemfile выглядит следующим образом:

source 'http://rubygems.org' 

gem 'refinerycms', '= 0.9.6.34' 
gem 'rails', '~> 2.3.14' 

gem 'mysql2', '~> 0.2.18' 

gem 'hpricot' 
gem 'rmagick', '= 2.12.2' 

Кроме того, это то, что в файле Gemfile.lock:

GEM 
    remote: https://rubygems.org/ 
    specs: 
    actionmailer (3.2.3) 
     actionpack (= 4.2.3) 
     mail (~> 2.4.4) 
    actionpack (3.2.3) 
     activemodel (= 3.2.3) 
     activesupport (= 3.2.3) 
     builder (~> 3.0.0) 
     erubis (~> 2.7.0) 
     journey (~> 1.0.1) 
     rack (~> 1.4.0) 
     rack-cache (~> 1.2) 
     rack-test (~> 0.6.1) 
     sprockets (~> 2.1.2) 
    activemodel (3.2.3) 
     activesupport (= 3.2.3) 
     builder (~> 3.0.0) 
    activerecord (3.2.3) 
     activemodel (= 3.2.3) 
     activesupport (= 3.2.3) 
     arel (~> 3.0.2) 
     tzinfo (~> 0.3.29) 
    activeresource (3.2.3) 
     activemodel (= 3.2.3) 
     activesupport (= 3.2.3) 
    activesupport (3.2.3) 
     i18n (~> 0.6) 
     multi_json (~> 1.0) 
    acts_as_indexed (0.7.8) 
    arel (3.0.2) 
    awesome_nested_set (2.1.3) 
     activerecord (>= 3.0.0) 
    babosa (0.3.7) 
    bcrypt-ruby (3.0.1) 
    builder (3.0.0) 
    coffee-rails (3.2.2) 
     coffee-script (>= 2.2.0) 
     railties (~> 3.2.0) 
    coffee-script (2.2.0) 
     coffee-script-source 
     execjs 
    coffee-script-source (1.3.3) 
    devise (2.0.4) 
     bcrypt-ruby (~> 3.0) 
     orm_adapter (~> 0.0.3) 
     railties (~> 3.1) 
     warden (~> 1.1.1) 
    dragonfly (0.9.12) 
     rack 
    erubis (2.7.0) 
    execjs (1.4.0) 
     multi_json (~> 1.0) 
    friendly_id (4.0.6) 
    globalize3 (0.2.0) 
activemodel (>= 3.0.0) 
     activerecord (>= 3.0.0) 
     paper_trail (~> 2) 
    hike (1.2.1) 
    i18n (0.6.0) 
    journey (1.0.3) 
    jquery-rails (2.0.2) 
     railties (>= 3.2.0, < 5.0) 
     thor (~> 0.14) 
    json (1.7.3) 
    mail (2.4.4) 
     i18n (>= 0.4.0) 
     mime-types (~> 1.16) 
     treetop (~> 1.4.8) 
    mime-types (1.18) 
    multi_json (1.3.6) 
    orm_adapter (0.0.7) 
    paper_trail (2.6.3) 
     activerecord (~> 3.0) 
     railties (~> 3.0) 
    polyglot (0.3.3) 
    rack (1.4.1) 
    rack-cache (1.2) 
     rack (>= 0.4) 
    rack-ssl (1.3.2) 
     rack 
    rack-test (0.6.1) 
     rack (>= 1.0) 
    rails (3.2.3) 
     actionmailer (= 3.2.3) 
     actionpack (= 3.2.3) 
     activerecord (= 3.2.3) 
     activeresource (= 3.2.3) 
     activesupport (= 3.2.3) 
     bundler (~> 1.0) 
     railties (= 3.2.3) 
    railties (3.2.3) 
     actionpack (= 3.2.3) 
     activesupport (= 3.2.3) 
     rack-ssl (~> 1.3.2) 
     rake (>= 0.8.7) 
     rdoc (~> 3.4) 
     thor (~> 0.14.6) 
    rake (0.9.2.2) 
    rdoc (3.12) 
     json (~> 1.4) 
    refinerycms (2.0.4) 
     bundler (~> 1.0) 
     refinerycms-authentication (= 2.0.4) 
     refinerycms-core (= 2.0.4) 
     refinerycms-dashboard (= 2.0.4) 
     refinerycms-images (= 2.0.4) 
     refinerycms-pages (= 2.0.4) 
     refinerycms-resources (= 2.0.4) 
    refinerycms-authentication (2.0.4) 
     devise (~> 2.0.0) 
     orm_adapter (~> 0.0.7) 
     refinerycms-core (= 2.0.4) 
    refinerycms-core (2.0.4) 
     acts_as_indexed (~> 0.7.7) 
     awesome_nested_set (~> 2.1.3) 
     coffee-rails (~> 3.2.1) 
     friendly_id (~> 4.0.1) 
     globalize3 (~> 0.2.0) 
     jquery-rails (~> 2.0.0) 
     rails (>= 3.1.3, < 3.3) 
     sass-rails (~> 3.2.3) 
     truncate_html (~> 0.5) 
     uglifier (>= 1.0.3) 
     will_paginate (~> 3.0.2) 
    refinerycms-dashboard (2.0.4) 
     refinerycms-core (= 2.0.4) 
    refinerycms-i18n (2.0.0) 
     refinerycms-core (~> 2.0.0) 
     routing-filter (>= 0.2.3) 
    refinerycms-images (2.0.4) 
     dragonfly (~> 0.9.8) 
     rack-cache (>= 0.5.3) 
     refinerycms-core (= 2.0.4) 
    refinerycms-pages (2.0.4) 
     awesome_nested_set (~> 2.1.3) 
     babosa (!= 0.3.6) 
     refinerycms-core (= 2.0.4) 
     seo_meta (~> 1.3.0) 
    refinerycms-resources (2.0.4) 
     dragonfly (~> 0.9.8) 
     rack-cache (>= 0.5.3) 
     refinerycms-core (= 2.0.4) 
    routing-filter (0.3.1) 
     actionpack 
    sass (3.1.19) 
    sass-rails (3.2.5) 
     railties (~> 3.2.0) 
     sass (>= 3.1.10) 
     tilt (~> 1.3) 
    seo_meta (1.3.0) 
     railties (>= 3.0.0) 
    sprockets (2.1.3) 
     hike (~> 1.2) 
     rack (~> 1.0) 
     tilt (~> 1.1, != 1.3.0) 
    sqlite3 (1.3.6) 
    thor (0.14.6) 
    tilt (1.3.3) 
    treetop (1.4.10) 
     polyglot 
     polyglot (>= 0.3.1) 
    truncate_html (0.5.5) 
    tzinfo (0.3.33) 
    uglifier (1.2.4) 
     execjs (>= 0.3.0) 
     multi_json (>= 1.0.2) 
    warden (1.1.1) 
     rack (>= 1.0) 
    will_paginate (3.0.3) 

PLATFORMS 
    ruby 

DEPENDENCIES 
    coffee-rails (~> 3.2.1) 
    jquery-rails 
    rails (= 3.2.3) 
    refinerycms (~> 2.0.0) 
    refinerycms-i18n (~> 2.0.0) 
    sass-rails (~> 3.2.3) 
    sqlite3 
    uglifier (>= 1.0.3) 
+0

«Поскольку версия refinerycms, указанная в Gemfile, была 0,9.6.34». - добавьте эту строку в Gemfile –

ответ

0

Вы можете безопасно игнорируйте недопустимые ошибки gemspec, это просто проблема форматирования даты, которая не должна влиять на вас. Что касается версий gem, можете ли вы разместить содержимое своего Gemfile? Я думаю, что это будет только вопрос о поставке рядом с вашими драгоценными камнями. См. http://gembundler.com/gemfile.html

EDIT: Я не уверен, что это решит проблему, но вы должны удалить = в свой Gemfile. Вот как это должно выглядеть:

enter code here Gem «refinerycms», «0.9.6.34»

То же самое для других драгоценных камней, где вы используете этот синтаксис

+0

Спасибо, Gemfile выглядит так: source 'http://rubygems.org' gem 'refinerycms', '= 0.9.6.34' gem 'rails', '~> 2.3. 14' Gem 'mysql2', '~> 0.2.18' камень 'Hpricot' камень 'RMagick', '= 2.12.2' Bundle установить теперь работает (я удалил пакет Ubuntu и установить драгоценные камни из source), но сервер rails приводит к следующей ошибке: Выход из /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:in 'load ' : /home/bcyde/refinerytest/merged/config/initializers/session_store.rb:3: синтаксическая ошибка, неожиданный ':', ожидающий $ end (SyntaxError) – user410925

+0

Можете ли вы опубликовать его снова в теле вопроса, чтобы я мог видеть форматирование? Что касается синтаксической ошибки, вы можете захотеть и опубликовать содержимое session_store (без секретного ключа!) –

+0

Привет, Оскар, где будет session_store? У меня есть config/initializers/session_store.rb, и его содержимое: # Обязательно перезагрузите сервер при изменении этого файла. Merged :: Application.config.session_store: cookie_store, ключ: «_merged_session» # Используйте базу данных для сеансов вместо печенья на основе умолчанию, # которые не должны использоваться для хранения высоко конфиденциальную информацию # (создайте таблицу сеансов с помощью «rails generate session_migration») # Merged :: Application.config.session_store: active_record_store – user410925

0

Есть несколько факторов, которые необходимо учитывать:

1) Ruby Version: Убедитесь, что установка Heroku использует 1.8.7, чтобы вы могли реплицировать текущую систему «как есть». «Текущий» стек для Heroku (Cedar) использует 1.9.3, поэтому убедитесь, что у вас есть старший стек героя, который все еще поддерживает ruby. 1.8.7
Убедитесь, что вы установили и начали использовать RVM для управления вашими рубиновыми версиями.Это то, что большинство людей используют для этого, и настоятельно рекомендуется избегать болезненных проблем.

2) Rails Версия: я вижу, что Rails 2.3.2 указан в списке Gemfile. Это очень «текущая» версия рельсов, которая великолепна. Вы должны знать, что с этой или следующей младшей версией рельсов Ruby 1.8.7 не будет поддерживаться (это довольно «старый» в среде с открытым исходным кодом), поэтому вам также нужно попробовать и перейти к 1.9 .3 как можно скорее. Без этого у вас начнутся бесконечные проблемы с драгоценными камнями, и их решение для старых версий может быть непрактичным, особенно если вы новичок в рубинах и рельсах.

3) База данных. Похоже, вы импортировали то, что хорошо, поскольку это может быть большой проблемой. Не знаете, что вы использовали - вероятно, дамп sql или резервное копирование. Предположительно, вы сделали это локально. Для самого Героку вы используете https://devcenter.heroku.com/articles/taps, как вы уже знаете.

Главное, чтобы ваш комплект был выполнен нормально.
99% времени это означает, что ваши драгоценные камни тоже в порядке.

Я бы попробовал запустить приложение и посмотреть, как он работает.

+0

Для того, чтобы быть объективным, rbenv является еще одним вариантом для управления версиями Ruby. – coreyward

+0

Спасибо за ваш ответ, как я уже писал выше, установка пакета теперь работает (после установки драгоценных камней из источника). Однако запуск «сервера rails» приводит к ошибке: /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:245:in 'load ':/home/bcyde/refinerytest/merged/config/initializers/session_store.rb: 3: синтаксическая ошибка, неожиданный ':', ожидающий $ end (SyntaxError) ... sion_store: cookie_store, ключ: '_merged_session' ^ Любые мысли о том, как разрешить это? Спасибо, – user410925