2011-01-08 2 views
3

누군가 내가 뭘 잘못하고 있다고 말할 수 있습니까? 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

고맙습니다 - 정직하게 왜 내가 둘 다 설치하는지 잘 모릅니다. 첫 번째 레일즈 앱은 저와 제가 레일즈로 인증하는 법과 몽고와 연결하는 방법을 보여준 두 개의 가이드를 따랐습니다. – IEnumerator

+0

btw -이 부분은 두 부분으로 해결되었습니다. 1) 2 개의 필수 줄을 제거합니다. 2) Gemfile.lock을 삭제 한 후 heroku로 응용 프로그램을 푸시 할 수있었습니다. – IEnumerator

+1

gemfile을 업데이트 할 때 lockfile을 삭제할 필요는 없습니다. 단지'bundle update '만하면 lockfile을 업데이트하고 모든 gem 종속성 문제를 해결할 것입니다. – theTRON

0

https://mongolab.com과 같은 응용 프로그램을 사용하여 클라우드의 데이터베이스에 응용 프로그램을 연결 한 다음 배포 (레일 응용 프로그램 만)를 수행하는 것이 좋습니다. 잠시 동안 MongoLabs를 사용하고 있습니다. , 그리고 꽤 잘 작동, 거기에서 직접 귀하의 컬렉션을 확인할 수 있습니다 (당신은 JS 쉘을 사용할 필요가 없습니다). 이것은 배포를 더 쉽게하기위한 제안 일뿐입니다.