首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Ruby从EngineYard迁移到Heroku

将Ruby从EngineYard迁移到Heroku
EN

Stack Overflow用户
提问于 2012-06-25 15:08:10
回答 2查看 971关注 0票数 0

作为一个较大项目的一部分,我的任务是迁移一些现有的Rails站点(构建该站点时使用的是一个旧版本的refinerycms 0.9.6.34,至少这是源代码中包含的Gemfile中列出的版本)。我通常不使用Ruby,所以我有点不知所措。前面的开发人员只是简单地交出了最新的git转储和db转储。

我首先尝试让站点在Ubuntu11.10本地机器上运行,然后再进行Heroku安装测试。如果可以直接使用他们提供的文件直接推到Heroku,那么我可以尝试,但据我所知,我需要让一切正常工作,然后使用Heroku的工具进行部署。

前面的开发人员说他们使用的是ruby 1.8.7,所以在Ubuntu中我做了以下工作:

代码语言:javascript
复制
aptitude install ruby1.8 ruby1.8-dev ruby1.8-full
aptitude install rubygems1.8

我已经还原了数据库,并在config目录中对database.yml进行了更改,以指向还原的数据库。

当我尝试从提取的源dir根目录运行"bundle install“时,我得到:

代码语言:javascript
复制
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.

显然,存在无效are规范的错误需要解决,但另一件让我感到困扰的是行:

代码语言:javascript
复制
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中列出的精细化版本是0.9.6.34。

当谈到Ruby世界时,我有点迷茫,所以任何帮助都会受到极大的感谢。

谢谢,

更新的请求如下所示:

代码语言:javascript
复制
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文件中的内容:

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

发布于 2012-06-25 15:11:55

您可以安全地忽略无效的gemspec错误,这只是一个不应该影响您的日期格式化问题。关于宝石版本,你能张贴你的Gemfile的内容吗?我想这只是把一个版本放在你的宝石旁边的问题。请参阅http://gembundler.com/gemfile.html

编辑:我不确定这会解决问题,但您应该删除Gemfile中的=。它应该是这样的:

enter code here宝石‘精细化’,'0.9.6.34‘

使用此语法的其他宝石也是如此

票数 0
EN

Stack Overflow用户

发布于 2012-06-25 15:35:39

有几个因素需要考虑:

1) Ruby版本:确保Heroku安装程序使用的是1.8.7,以便您可以复制当前系统的“原样”。Heroku (雪松)的“当前”堆栈使用的是1.9.3,因此请确保您得到了一个仍然支持ruby 1.8.7的老heroku堆栈。

确保安装并开始使用RVM来管理您的ruby版本。这是大多数人所使用的,并强烈建议避免痛苦的问题。

2) Rails版本:我看到Gemfile列表中列出的Rails 2.3.2。这是一个非常“当前”版本的rails,这是很棒的。但是,您应该知道,使用此版本或下一个较小版本的rails,Ruby1.8.7将不受支持(在开源领域它已经相当“老”了),因此您还需要尝试尽快迁移到1.9.3。没有这一点,您将开始有无休止的创业板问题,并解决它们的旧版本可能是不切实际的,特别是如果您是较新的ruby和rails。

3)数据库。听起来好像你已经导入了一个很好的东西,因为这可能是个大问题。不确定您使用了什么--可能是sql转储或备份。大概是你在本地做的。对于Heroku本身,您可能已经知道使用https://devcenter.heroku.com/articles/taps

主要是您的包完成了ok.

99%的时间,这意味着你的宝石也是安全的。

我试着运行这个应用程序,看看它是如何工作的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11191950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档