为什么我的rails应用程序没有部署(H10代码错误)并且rails服务器无法启动?

时间:2017-12-10 06:37:10

标签: ruby-on-rails ruby sqlite heroku

我刚刚开始使用一个带有#34; hello world"页面和基本骨架。我在开始研究之前尝试部署到heroku。但是,在生产和本地服务器上,我无法启动应用程序。我确实让它在本地主机3000上启动了一次,但现在我改变了一些东西并且它不起作用。我改变的唯一的事情就是将sqlite gem放入devlopment和pg gem中,因为herku不能使用sqlite。请看以下错误:

尝试启动本地服务器时:

C:\Sites\nutri>rails s
C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.5-x86-mingw32/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.5-x86-mingw32/lib/sqlite3.rb:6:in `rescue in <top (required)>'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.5-x86-mingw32/lib/sqlite3.rb:2:in `<top (required)>'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:in `require'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:in `block (2 levels) in require'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in `each'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in `block in require'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in `each'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in `require'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.14.5/lib/bundler.rb:107:in `require'
        from C:/Sites/nutri/config/application.rb:7:in `<top (required)>'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:88:in `require'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:88:in `block in server'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:85:in `tap'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:85:in `server'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
        from C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/railties-5.0.6/lib/rails/commands.rb:18:in `<top (required)>'
        from bin/rails:4:in `require'
        from bin/rails:4:in `<main>'

当在生产中打开eapp时,我得到一个H10错误,遗憾的是,herko支持tpage并没有详细说明如何解决这个错误,只是说明代码意味着什么我不理解。

heroku日志:

C:\Sites\nutri>heroku logs
This is the legacy Heroku CLI. Please install the new CLI from https://cli.heroku.com
2017-12-10T05:44:26.046591+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/server.rb:319:in `build_app_and_options_from_config'
2017-12-10T05:44:26.046604+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/server.rb:219:in `app'
2017-12-10T05:44:26.046616+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/server.rb:84:in `app'
2017-12-10T05:44:26.046628+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/server.rb:354:in `wrapped_app'
2017-12-10T05:44:26.046639+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/server.rb:283:in `start'
2017-12-10T05:44:26.046649+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/server.rb:104:in `start'
2017-12-10T05:44:26.046660+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:90:in `block in server'
2017-12-10T05:44:26.046670+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:85:in `tap'
2017-12-10T05:44:26.046680+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:85:in `server'
2017-12-10T05:44:26.046690+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
2017-12-10T05:44:26.046701+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands.rb:18:in `<top (required)>'
2017-12-10T05:44:26.046712+00:00 app[web.1]:    from bin/rails:4:in `require'
2017-12-10T05:44:26.046723+00:00 app[web.1]:    from bin/rails:4:in `<main>'
2017-12-10T05:44:26.239147+00:00 heroku[web.1]: State changed from starting to crashed
2017-12-10T05:44:32.729566+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=murmuring-woodland-44138.herokuapp.com request_id=49085526-9dfc-4fe7-abba-b11be446f965 fwd="82.102.17.248" dyno= connect= service= status=503 bytes= protocol=https
2017-12-10T05:45:15.010455+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=murmuring-woodland-44138.herokuapp.com request_id=e090f107-9036-4e55-9d70-8f450c4aa7a2 fwd="82.102.17.248" dyno= connect= service= status=503 bytes= protocol=https
2017-12-10T06:09:54.415945+00:00 heroku[web.1]: State changed from crashed to starting
2017-12-10T06:09:56.992085+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 59932 -e production`
2017-12-10T06:10:00.485332+00:00 heroku[web.1]: State changed from starting to crashed
2017-12-10T06:10:00.375617+00:00 app[web.1]: => Booting Puma
2017-12-10T06:10:00.375631+00:00 app[web.1]: => Rails 5.0.6 application starting in production on http://0.0.0.0:59932
2017-12-10T06:10:00.375632+00:00 app[web.1]: => Run `rails server -h` for more startup options
2017-12-10T06:10:00.375633+00:00 app[web.1]: Exiting
2017-12-10T06:10:00.375723+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/connection_specification.rb:176:in `rescue in spec': Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)
2017-12-10T06:10:00.375747+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_adapters/connection_specification.rb:173:in `spec'
2017-12-10T06:10:00.375748+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.6/lib/active_record/connection_handling.rb:53:in `establish_connection'
2017-12-10T06:10:00.375751+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.6/lib/active_record/railtie.rb:125:in `block (2 levels) in <class:Railtie>'
2017-12-10T06:10:00.375752+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/lazy_load_hooks.rb:69:in `instance_eval'
2017-12-10T06:10:00.375754+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/lazy_load_hooks.rb:69:in `block in execute_hook'
2017-12-10T06:10:00.375775+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/lazy_load_hooks.rb:60:in `with_execution_control'
2017-12-10T06:10:00.375776+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/lazy_load_hooks.rb:65:in `execute_hook'
2017-12-10T06:10:00.375779+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/lazy_load_hooks.rb:50:in `block in run_load_hooks'
2017-12-10T06:10:00.469714+00:00 heroku[web.1]: Process exited with status 1
2017-12-10T06:10:00.375780+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/lazy_load_hooks.rb:49:in `each'
2017-12-10T06:10:00.375782+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/lazy_load_hooks.rb:49:in `run_load_hooks'
2017-12-10T06:10:00.375783+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.6/lib/active_record/base.rb:324:in `<module:ActiveRecord>'
2017-12-10T06:10:00.375826+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.6/lib/active_record/base.rb:24:in `<top (required)>'
2017-12-10T06:10:00.375827+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:293:in `require'
2017-12-10T06:10:00.375828+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:293:in `block in require'
2017-12-10T06:10:00.375829+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:259:in `load_dependency'
2017-12-10T06:10:00.375830+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:293:in `require'
2017-12-10T06:10:00.375831+00:00 app[web.1]:    from /app/app/models/application_record.rb:1:in `<top (required)>'
2017-12-10T06:10:00.375832+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:293:in `require'
2017-12-10T06:10:00.375832+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:293:in `block in require'
2017-12-10T06:10:00.375833+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:259:in `load_dependency'
2017-12-10T06:10:00.375835+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:293:in `require'
2017-12-10T06:10:00.375836+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:380:in `block in require_or_load'
2017-12-10T06:10:00.375837+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:37:in `block in load_interlock'
2017-12-10T06:10:00.375838+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies/interlock.rb:12:in `block in loading'
2017-12-10T06:10:00.375839+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/concurrency/share_lock.rb:150:in `exclusive'
2017-12-10T06:10:00.375840+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies/interlock.rb:11:in `loading'
2017-12-10T06:10:00.375842+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:37:in `load_interlock'
2017-12-10T06:10:00.375865+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:358:in `require_or_load'
2017-12-10T06:10:00.375866+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:336:in `depend_on'
2017-12-10T06:10:00.375868+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:252:in `require_dependency'
2017-12-10T06:10:00.375869+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/engine.rb:476:in `block (2 levels) in eager_load!'
2017-12-10T06:10:00.375871+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/engine.rb:475:in `each'
2017-12-10T06:10:00.375873+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/engine.rb:475:in `block in eager_load!'
2017-12-10T06:10:00.375891+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/engine.rb:473:in `each'
2017-12-10T06:10:00.375892+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/engine.rb:473:in `eager_load!'
2017-12-10T06:10:00.375893+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/engine.rb:354:in `eager_load!'
2017-12-10T06:10:00.375897+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/application/finisher.rb:59:in `block in <module:Finisher>'
2017-12-10T06:10:00.375896+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/application/finisher.rb:59:in `each'
2017-12-10T06:10:00.375901+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/initializable.rb:30:in `run'
2017-12-10T06:10:00.375899+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/initializable.rb:30:in `instance_exec'
2017-12-10T06:10:00.375920+00:00 app[web.1]:    from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
2017-12-10T06:10:00.375920+00:00 app[web.1]:    from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each'
2017-12-10T06:10:00.375919+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/initializable.rb:55:in `block in run_initializers'
2017-12-10T06:10:00.375922+00:00 app[web.1]:    from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from'
2017-12-10T06:10:00.375923+00:00 app[web.1]:    from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component'
2017-12-10T06:10:00.375925+00:00 app[web.1]:    from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:347:in `each'
2017-12-10T06:10:00.375943+00:00 app[web.1]:    from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:347:in `call'
2017-12-10T06:10:00.375944+00:00 app[web.1]:    from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component'
2017-12-10T06:10:00.375945+00:00 app[web.1]:    from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each'
2017-12-10T06:10:00.375947+00:00 app[web.1]:    from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each'
2017-12-10T06:10:00.375948+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/initializable.rb:54:in `run_initializers'
2017-12-10T06:10:00.375965+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/application.rb:352:in `initialize!'
2017-12-10T06:10:00.375966+00:00 app[web.1]:    from /app/config/environment.rb:5:in `<top (required)>'
2017-12-10T06:10:00.375968+00:00 app[web.1]:    from /app/config.ru:3:in `require_relative'
2017-12-10T06:10:00.375980+00:00 app[web.1]:    from /app/config.ru:3:in `block in <main>'
2017-12-10T06:10:00.375982+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/builder.rb:55:in `instance_eval'
2017-12-10T06:10:00.375983+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/builder.rb:55:in `initialize'
2017-12-10T06:10:00.375990+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/server.rb:319:in `build_app_and_options_from_config'
2017-12-10T06:10:00.375984+00:00 app[web.1]:    from /app/config.ru:in `new'
2017-12-10T06:10:00.375988+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/builder.rb:40:in `parse_file'
2017-12-10T06:10:00.375985+00:00 app[web.1]:    from /app/config.ru:in `<main>'
2017-12-10T06:10:00.375987+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/builder.rb:49:in `new_from_string'
2017-12-10T06:10:00.375985+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/builder.rb:49:in `eval'
2017-12-10T06:10:00.375992+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/server.rb:219:in `app'
2017-12-10T06:10:00.376005+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/server.rb:354:in `wrapped_app'
2017-12-10T06:10:00.376005+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/server.rb:84:in `app'
2017-12-10T06:10:00.376008+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/server.rb:104:in `start'
2017-12-10T06:10:00.376010+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:90:in `block in server'
2017-12-10T06:10:00.376006+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.3/lib/rack/server.rb:283:in `start'
2017-12-10T06:10:00.376019+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:85:in `server'
2017-12-10T06:10:00.376012+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:85:in `tap'
2017-12-10T06:10:00.376021+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
2017-12-10T06:10:00.376027+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.6/lib/rails/commands.rb:18:in `<top (required)>'
2017-12-10T06:10:00.376048+00:00 app[web.1]:    from bin/rails:4:in `<main>'
2017-12-10T06:10:00.376047+00:00 app[web.1]:    from bin/rails:4:in `require'
2017-12-10T06:27:43.466729+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=murmuring-woodland-44138.herokuapp.com request_id=b7646d82-6d59-45b2-8040-e16cf89d513a fwd="82.102.17.248" dyno= connect= service= status=503 bytes= protocol=https

C:\Sites\nutri>

特别注意最后一行:

2017-12-10T06:27:43.466729+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=murmuring-woodland-44138.herokuapp.com request_id=b7646d82-6d59-45b2-8040-e16cf89d513a fwd="82.102.17.248" dyno= connect= service= status=503 bytes= protocol=https

我在这里搜索并阅读了许多类似的问题,但似乎没有一个问题可以回答我的具体情况。任何帮助非常感谢。

编辑:添加了宝石文件:

source 'https://rubygems.org'

git_source(:github) do |repo_name|
  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
  "https://github.com/#{repo_name}.git"
end


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.6'
# Use sqlite3 as the database for Active Record
#gem 'sqlite3' #commented out see below
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'sqlite3' #, '1.3.5'#added here because didnt deploy to heroku, as advised on https://gist.github.com/JennDudley/2493288
  gem 'byebug', platform: :mri
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
  gem 'web-console', '>= 3.3.0'

end

group :production do
  gem 'pg'
  #gem 'rails_12factor'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

编辑2,database.yml:

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  database: db/production.sqlite3

编辑3:新的config / datbase.yml文件 编辑4:新的config / datbase.yml文件(我不小心从另一个项目中添加了错误的数据库yml文件,下面是我的数据库yml文件)

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
default: &default
  adapter: postgresql #sqlite3
  pool: 5
  timeout: 5000

# development:
#   <<: *default
#   database: db/development.sqlite3
development:
  <<: *default
  database: nutri_development

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
# test:
#   <<: *default
#   database: db/test.postgresql #sqlite3

test:
  <<: *default
  database: nutri_test

# production:
#   <<: *default
#   database: db/production.postgresql #sqlite3
production:
  <<: *default
  database: nutri_production
  prepared_statements: false
  encoding: unicode

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
# default: &default
#   adapter: sqlite3
#   pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
#   timeout: 5000
# default: &default
#   adapter: postgresql
#   pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
#   timeout: 5000


# development:
#   <<: *default
#   database: db/development.sqlite3
# development:
#   <<: *default
# database: rails-tutorial_development #http://guides.rubyonrails.org/configuring.html#configuring-a-database

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.

# test:
#   <<: *default
#   database: db/test.sqlite3
# test:
#   <<: *default
#   database: rails-tutorial_development

# production:
#   <<: *default
#   database: db/production.sqlite3

# production:
#   <<: *default
#   adapter: postgresql
#   prepared_statements: false
#   encoding: unicode
#   database: rails-tutorial_development

这是使用postgresql的正确配置吗?

2 个答案:

答案 0 :(得分:0)

在我们的默认设置中,您可以指定sqlite3作为适配器吗?

default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

然后,在您的制作中,使用默认值并指定sqlite3数据库。

production:
  <<: *default
  database: db/production.sqlite3

相反,它应该看起来像:

production:
  <<: *default
  adapter: postgresql
  encoding: unicode

同样,你真的应该在你的开发机器上设置postgresql,以避免sqlite3和postgresql之间的语法差异。

要设置数据库,请转到Heroku上应用程序的“资源”选项卡。在&#39;附加组件下,搜索&#39; Postgres&#39;。 Heroku会从那里引导你。

设置好后,在您的终端中,您需要运行:

> heroku run rake db:migrate --app your_app_name

或者,如果你宁愿从你的架构加载(这基本上是所有迁移到一个文件中的结果),你可以这样做:

> heroku run rake db:schema:load

回复

这是我database.yml对我的某个应用的看法(当然,我已替换了#app; app_name&#39;为我的实际应用名称):

default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: 5

...

production:
  <<: *default
  database: app_name_production
  username: app_name_admin
  password: <%= ENV['APP_NAME_DATABASE_PASSWORD'] %>

如您所见,我的生产部分实际上有database:username:。我可能不需要username:,我不确定。根据{{​​3}},您应该包含database: ...。但是,如指南中所述,它应该是自定义名称,而不是:

database: db/production.sqlite3

encodingpool位来自SQLite on Heroku上Rails指南的第3.15.3节(配置PostreSQL数据库)。您注意到Heroku指南未指定encoding,但Rails指南指定了database.yml。我通过Heroku指南优先考虑Rails指南,并将其包含在我的所有pool文件中。

您已在timeout中加入defaultproduction,因此您无需在pg中重新配置这些内容。

&#34;在您的开发机器上设置postgreSQL&#34;意味着在本地计算机上安装postgreSQL服务器。简单地包含LIKE gem不会安装服务器。如果你决定在开发中使用postgreSQL(而不是sqlite),你 ONLY 需要这样做。这与部署到Heroku有

要详细了解如何在您的计算机上安装postgresql,请参阅Configuring a Database指南的Local setup部分。

您可能还想阅读Heroku PostgresDev/prod parity部分。

如果您决定继续使用sqlite进行开发并使用postgresql进行部署,那么您可以完全忽略我在开发计算机上设置postgresql的注释。然而,正如我之前所说,sqlite和postgres有一些微妙的区别(我记得我的头脑是每个数据库如何实现... parameters: { foo: { type: "string" } }, resources: [{ type: "Microsoft.Resources/deployments", properties: { templateLink: { uri: "sub.json", contentVersion: "1.0.0.0" }, parameters: { bar: { value: "[parameters('foo')]" } } } }] ... 功能)。这意味着您可能拥有在sqlite开发中完美运行的代码,但在postgres上的生产中断。如果遇到这种情况,则必须跟踪语法差异导致错误的位置,然后修复语法。那没有乐趣。

答案 1 :(得分:0)

您的本地服务器错误是由文件

引起的
RTCPeerConnection

错误是

from C:/Sites/nutri/config/application.rb:7:in '<top (required)>'

检查文件C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.5-x86- mingw32/lib/sqlite3.rb:6:in 'require': cannot load such file -- sqlite3/sqlite3_native (LoadError) 是否存在。

首先尝试在本地部署并考虑Heroku。

Heroku服务器问题

sqlite3/sqlite3_native

表示2017-12-10T06:10:00.375723+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/activerecord- 5.0.6/lib/active_record/connection_adapters/ connection_specification.rb:176:in `rescue in spec': Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError) (ActiveRecord)和rails之间的Gem兼容性问题。您评论sqlite3版本的任何原因?尝试取消注释

sqlite3

只有特定版本的gem 'sqlite3', '1.3.5' 适用于rails个版本

此外,sqlite3 gem可以使用下面的版本

pg

尝试所有这些,移动gem 'pg', '0.18.4' 文件

Gemfile.lock

立即安装宝石

mv Gemfile.lock Gemfile.lock_