我刚刚开始使用一个带有#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的正确配置吗?
答案 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
encoding
和pool
位来自SQLite on Heroku上Rails指南的第3.15.3节(配置PostreSQL数据库)。您注意到Heroku指南未指定encoding
,但Rails指南指定了database.yml
。我通过Heroku指南优先考虑Rails指南,并将其包含在我的所有pool
文件中。
您已在timeout
中加入default
和production
,因此您无需在pg
中重新配置这些内容。
&#34;在您的开发机器上设置postgreSQL&#34;意味着在本地计算机上安装postgreSQL服务器。简单地包含LIKE
gem不会安装服务器。如果你决定在开发中使用postgreSQL(而不是sqlite),你 ONLY 需要这样做。这与部署到Heroku有无。
要详细了解如何在您的计算机上安装postgresql,请参阅Configuring a Database指南的Local setup部分。
您可能还想阅读Heroku Postgres的Dev/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_