Проблема с подталкиванием к Heroku с помощью dm-migrations - PullRequest
3 голосов
/ 22 января 2011

Я не смог найти никого другого с этой ошибкой, поэтому я надеюсь, что это не что-то специфическое для моей машины или что-то еще.

-----> Heroku receiving push
-----> Sinatra app detected

-----> Installing gem data_mapper 1.0.0 from http://rubygems.org
      ERROR:  Error installing data_mapper:
       dm-migrations requires dm-core (~> 1.0.2, runtime)
!     Heroku push rejected, failed to install gem

error: hooks/pre-receive exited with error code 1
To git@heroku.com:episodes.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:episodes.git'

Я использую bundler 1.0.7 для управления своими зависимостями.

Вот мой Gemfile:

source :rubygems
gem 'sinatra', '>= 1.0'
gem 'rake'
gem 'rspec', :require => 'spec'
gem 'data_mapper'
gem 'rack-test'
gem 'dm-core'
gem 'dm-sqlite-adapter'
gem 'dm-timestamps'
gem 'dm-validations'
gem 'dm-aggregates'
gem 'dm-migrations'
gem 'haml'

С Gemfile.lock (актуально)

GEM
  remote: http://rubygems.org/
  specs:
    addressable (2.2.3)
    data_mapper (1.0.2)
      dm-aggregates (= 1.0.2)
      dm-constraints (= 1.0.2)
      dm-core (= 1.0.2)
      dm-migrations (= 1.0.2)
      dm-serializer (= 1.0.2)
      dm-timestamps (= 1.0.2)
      dm-transactions (= 1.0.2)
      dm-types (= 1.0.2)
      dm-validations (= 1.0.2)
    data_objects (0.10.2)
      addressable (~> 2.1)
    diff-lcs (1.1.2)
    dm-aggregates (1.0.2)
      dm-core (~> 1.0.2)
    dm-constraints (1.0.2)
      dm-core (~> 1.0.2)
      dm-migrations (~> 1.0.2)
    dm-core (1.0.2)
      addressable (~> 2.2)
      extlib (~> 0.9.15)
    dm-do-adapter (1.0.2)
      data_objects (~> 0.10.2)
      dm-core (~> 1.0.2)
    dm-migrations (1.0.2)
      dm-core (~> 1.0.2)
    dm-serializer (1.0.2)
      dm-core (~> 1.0.2)
      fastercsv (~> 1.5.3)
      json_pure (~> 1.4)
    dm-sqlite-adapter (1.0.2)
      dm-do-adapter (~> 1.0.2)
      do_sqlite3 (~> 0.10.2)
    dm-timestamps (1.0.2)
      dm-core (~> 1.0.2)
    dm-transactions (1.0.2)
      dm-core (~> 1.0.2)
    dm-types (1.0.2)
      dm-core (~> 1.0.2)
      fastercsv (~> 1.5.3)
      json_pure (~> 1.4)
      stringex (~> 1.1.0)
      uuidtools (~> 2.1.1)
    dm-validations (1.0.2)
      dm-core (~> 1.0.2)
    do_sqlite3 (0.10.2)
      data_objects (= 0.10.2)
    do_sqlite3 (0.10.2-x86-mingw32)
      data_objects (= 0.10.2)
    extlib (0.9.15)
    fastercsv (1.5.4)
    haml (3.0.25)
    json_pure (1.4.6)
    rack (1.2.1)
    rack-test (0.5.7)
      rack (>= 1.0)
    rake (0.8.7)
    rspec (2.4.0)
      rspec-core (~> 2.4.0)
      rspec-expectations (~> 2.4.0)
      rspec-mocks (~> 2.4.0)
    rspec-core (2.4.0)
    rspec-expectations (2.4.0)
      diff-lcs (~> 1.1.2)
    rspec-mocks (2.4.0)
    sinatra (1.1.2)
      rack (~> 1.1)
      tilt (~> 1.2)
    stringex (1.1.0)
    tilt (1.2.2)
    uuidtools (2.1.1)

PLATFORMS
  ruby
  x86-mingw32

DEPENDENCIES
  data_mapper
  dm-aggregates
  dm-core
  dm-migrations
  dm-sqlite-adapter
  dm-timestamps
  dm-validations
  haml
  rack-test
  rake
  rspec
  sinatra (>= 1.0)

В моем действительном заявлении мои требования перечислены в следующем порядке:

require 'rubygems'
require 'bundler/setup'
require 'dm-core'
require 'dm-validations'
require 'dm-timestamps'
require 'dm-migrations'
require 'dm-types'
require 'haml'
require 'yaml'
require 'json'
require 'ostruct'
require 'sinatra'

Есть ли что-нибудь необычное, что заставило бы Хероку выдать мне эту ошибку?

Ответы [ 2 ]

3 голосов
/ 19 апреля 2011

Проблема в том, что вы используете этот репозиторий: https://github.com/zapnap/sinatra-template

В дополнение к Gemfile у него есть файл .gems, в котором указывается Datamapper 1.0.0. Избавьтесь от этого файла, и это должно исправить.

0 голосов
/ 22 января 2011

Я думаю, и я могу ошибаться, гем 'data_mapper' похож на мета гем.Удалите это из списка и попробуйте

...