2011-01-08 46 views
3

有人能告诉我我做错了什么吗?我正在尝试将简单的Rails应用程序推送到使用MongoDB的Heroku。我的Gemfile包含以下行:使用Mongo的Heroku部署

宝石“蒙戈”

当按下应用的Heroku它错误的出带:没有这样的文件来加载 - 蒙戈

-----> 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) 

这里是我的整个的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' 

回答

6

你不需要或者在你的Gemfile这些行:

require 'rubygems' 
require 'mongo' 

打包者无需更新或安装您的宝石。

另外,你是否有安装mongoid和mongo_mapper的原因?

+0

谢谢 - 我老老实实地不知道为什么我安装两个。第一个Rails应用程序对我来说,我遵循了两个不同的指南,它们展示了如何使用rails进行身份验证,以及如何使用mongo连接它。 – IEnumerator 2011-01-08 15:19:32

0

也许您可以使用的另一种方法是使用类似https://mongolab.com的东西,将您的应用程序连接到云上的数据库,然后进行部署(仅限rails应用程序)。我一直在使用MongoLabs一段时间,并且工作得很好,你可以直接从那里检查你的集合(你不需要使用JS shell)。这只是一个建议,使部署更容易:)