我对Ruby on Rails很陌生,但我想知道为什么它不会在heroku上部署。
在终端上使用git push heroku master
并安装了捆绑包之后,它出现如下:
remote: Cleaning up the bundler cache.
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: rake aborted!
remote: NameError: uninitialized constant Devise
预编译资产失败,因此推送被拒绝。
这是我的config / application.rb文件的顶部:
require 'devise'
require File.expand_path('../boot', __FILE__)
require 'rails/all'
config.assets.initialize_on_precompile = false
和我的devise.rb:
Devise.setup do |config|
config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com'
require 'devise/orm/active_record'
config.case_insensitive_keys = [ :email ]
config.strip_whitespace_keys = [ :email ]
config.skip_session_storage = [:http_auth]
config.stretches = Rails.env.test? ? 1 : 10
config.reconfirmable = true
config.expire_all_remember_me_on_sign_out = true
config.password_length = 8..128
config.reset_password_within = 6.hours
config.sign_out_via = :delete
end
如果您需要更多信息,请告诉我,但我被困住了。我已经安装了sqlite3并且bundle安装了gem文件,但没有解决任何问题。
我的宝石文件包含以下所有内容:
gem 'rails', '4.2.0'
gem 'pg'
gem 'sqlite3'
gem 'devise'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'byebug'
gem 'spring'
gem 'rails_12factor', group: :production
end
答案 0 :(得分:0)
你在Gemfile中添加了宝石'Devise'吗?该文件是否包含在您的存储库中?
答案 1 :(得分:0)
Heroku要求pg为数据库,并从主gem文件中删除sqlite3。