2012-06-25 48 views
0

作爲一個較大項目的一部分,我負責遷移一些現有的Ruby on Rails站點(使用舊版本的refinerycms 0.9.6.34構建,至少這是Gemfile中列出的版本包含在源文件中)。我通常不會與Ruby合作,所以我有點不知所措。之前的開發人員只是簡單地移交了最新的git轉儲以及數據庫轉儲。將Ruby Site從EngineYard遷移到Heroku

我正在努力嘗試在Ubuntu 11.10本地計算機上本地工作,然後再推送到測試Heroku安裝。如果可以直接用他們提供的文件直接推送到Heroku,那麼我可以嘗試,但是我的理解是我需要讓所有的工作都能正常工作,然後使用Heroku的工具進行部署。

以前的開發者表示,他們使用Ruby 1.8.7所以在Ubuntu的我已經做了以下內容:

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

我已經恢復了數據庫,並在config目錄中我做了修改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) 

由於在Gemfile中列出的refinerycms版本是0.9.6.34。

說到Ruby世界,我有點失落,所以任何幫助將不勝感激。

感謝,

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

「由於Gemfile中列出的refinerycms版本是0.9.6.34。」 - 請添加Gemfile的該行 –

回答

0

你可以放心地忽略無效的gemspec錯誤,這只是一個不應該影響你的日期格式問題。關於寶石版本,你可以發佈你的Gemfile的內容嗎?我認爲這只是一個將寶石放在旁邊的問題。見http://gembundler.com/gemfile.html

編輯:我不知道這會解決問題,但你應該刪除你的Gemfile中的=。下面是它應該是什麼樣子:

enter code here寶石「refinerycms」,「0.9.6.34」

其他寶石同樣的事情,你使用這個語法,其中

+0

謝謝,Gemfile看起來像:source'http://rubygems.org' gem'refinerycms','= 0.9.6.34' gem'rails','〜> 2.3。 14' 寶石 'mysql2', '〜> 0.2.18' 寶石 '角度來說,Hpricot' 寶石 'rmagick', '= 2.12.2' 捆綁現在工作安裝(我已經去除了ubuntu的包,並從安裝的寶石源),但導軌服務器導致以下錯誤: 退出/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:語法錯誤,意外的':',期待$結束(SyntaxError) – user410925

+0

你可以在問題主體中再次發佈它,這樣我就可以看到格式了嗎?關於你的語法錯誤,你可能想要發佈session_store的內容(沒有密鑰!) –

+0

嗨奧斯卡,session_store會在哪裏?我有一個config/initializers/session_store.rb,其內容如下: #修改此文件時一定要重新啓動服務器。它不應該被用來存儲高度機密的信息 #(「_merged_session」 #使用的會話,而不是基於cookie的默認數據庫, #: 合併:: Application.config.session_store:cookie_store,關鍵使用「rails generate session_migration」創建會話表) #Merged :: Application.config.session_store:active_record_store – user410925

0

有幾個因素要考慮:

1)Ruby版本:確保你的Heroku設置是使用1.8.7,這樣你就可以按照原樣複製當前系統。 Heroku(Cedar)的「當前」堆棧使用1.9.3,因此請確保您獲得一個仍舊支持ruby的舊版heroku堆棧。1.8.7
確保您安裝並開始使用RVM來管理您的ruby版本。這是大多數人使用的,並強烈建議避免痛苦的問題。

2)Rails版本:我看到列在您的Gemfile列表中的Rails 2.3.2。這是一個非常「現在」的版本,非常棒。不過,你應該知道,在這個版本或下一個小版本的Rails中,Ruby 1.8.7將不被支持(在開源軟件領域它已經非常老了),所以你還需要嘗試移植到1.9 .3儘快。沒有這個,你會開始有無盡的寶石問題,並解決它們的舊版本可能是不切實際的,特別是如果你是更新的紅寶石和鐵軌。

3)數據庫。 聽起來好像你已經輸入了那個很好的問題,因爲這可能是一個大問題。 不確定你使用了什麼 - 可能是一個SQL轉儲或備份。 大概你在當地做過。 對於Heroku本身,您可能已經知道使用https://devcenter.heroku.com/articles/taps

最主要的是你的包完成了。
99%的時間這意味着你的寶石也可以。

我會嘗試運行該應用程序並查看它是如何工作的。

+0

爲了不偏不倚,rbenv是管理Ruby版本的另一種選擇。 – coreyward

+0

感謝您的回覆,正如我在上面發佈的,捆綁安裝似乎現在可以工作(從源代碼安裝gems之後)。但是運行「rails server」會導致錯誤: /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,key:'_merged_session' ^ 關於如何解決這個問題? 謝謝, – user410925