【问题标题】:Heroku deployment using Mongo使用 Mongo 部署 Heroku
【发布时间】:2011-06-05 16:09:48
【问题描述】:

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

宝石“蒙哥”

将应用推送到 Heroku 时出现错误:no such file to load -- 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)

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

【问题讨论】:

    标签: ruby-on-rails mongodb heroku


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您的 Gemfile 中不需要以下任何一行:

      require 'rubygems'
      require 'mongo'
      

      bundler 更新或安装 gems 都不需要这些。

      另外,您同时安装 mongoid 和 mongo_mapper 是否有原因?

      【讨论】:

      • 谢谢 - 老实说,我不知道我为什么要同时安装这两个。我和我的第一个 Rails 应用程序遵循了两个不同的指南,展示了如何使用 rails 进行身份验证,另一个展示了如何将其与 mongo 连接。
      • btw - 这是一个两部分修复 1) 删除 2 行需要 2) 删除 Gemfile.lock 之后我能够将应用程序推送到 heroku。
      • 你不应该删除你的锁文件,当你更新你的 gemfile 时,只需执行bundle update,这将更新锁文件并修复任何 gem 依赖问题。
      • 一定是发生了一些奇怪的事情,因为即使不再出现'require "mongo"'这一行,它仍然通过删除锁定文件来修复它。它是根据我所说的内容缓存的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-20
      • 2013-07-16
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 2014-08-25
      • 2021-08-12
      相关资源
      最近更新 更多