2011-01-08 3 views
3

Quelqu'un peut-il me dire ce que je fais mal? J'essaye de pousser une application simple rails à Heroku qui utilise MongoDB. Mon Gemfile contient la ligne suivante:Déploiement Heroku utilisant Mongo

bijou « mongo »

Lorsque vous appuyez sur l'application à Heroku il de l'erreur avec: pas de fichier à charger - mongo

-----> Heroku receiving push 
-----> Rails app detected 
-----> Detected Rails is not set to serve static_assets 
     Installing rails3_serve_static_assets... done 
-----> Gemfile detected, running Bundler version 1.0.3 
     Unresolved dependencies detected; Installing... 
     /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- mongo (LoadError) 

Voici mon tout Gemfile:

require 'rubygems' 
require 'mongo' 
source 'http://gemcutter.org' 

gem "rails", "3.0.0" 
#gem 'rails', :git => 'http://github.com/rails/rails.git' 

gem "mongo_mapper" 
gem 'mongoid', '2.0.0.beta.20' 
gem 'devise', :git => 'git://github.com/plataformatec/devise.git' 
gem 'heroku', '1.13.7' 


# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

Répondre

6

Vous ne avez pas besoin l'une de ces lignes dans votre Gemfile:

require 'rubygems' 
require 'mongo' 

Aucun de ces éléments n'est requis pour que bundler mette à jour ou installe vos gemmes.

De même, existe-t-il une raison pour laquelle vous installez mongoid et mongo_mapper?

+0

Merci - Honnêtement, je n'ai aucune idée pourquoi j'installe les deux. L'application First Rails pour moi et moi avions suivi deux guides différents qui montraient comment faire l'authentification avec des rails et l'autre sur la façon de le connecter avec mongo. – IEnumerator

+0

btw - ce fut un correctif en deux parties 1) supprimer les 2 lignes 2) supprimer Gemfile.lock après quoi je pouvais pousser l'application à heroku. – IEnumerator

+1

Vous ne devriez jamais avoir à supprimer votre fichier de verrouillage, lorsque vous mettez à jour votre gemfile, faites juste une mise à jour de bundle et cela mettra à jour le fichier lockfile et corrigera les problèmes de dépendances de gemmes. – theTRON

0

Peut-être une autre approche que vous pouvez utiliser, est d'utiliser quelque chose comme https://mongolab.com, connecter votre application avec la base de données sur le nuage, puis faire le déploiement (seulement l'application rails) .J'ai utilisé MongoLabs pendant un certain temps , et fonctionne assez bien, vous pouvez vérifier vos collections directement à partir de là (vous n'avez pas besoin d'utiliser le shell JS). Ceci est juste une suggestion, pour faciliter le déploiement :)