hra*_*aud 5 ruby ruby-on-rails sinatra bundler
不确定为什么或如何发生这种情况,但突然间,在本地环境中运行良好的应用程序不再工作。
\n\n我的本地开发环境是:\n MacOS Sierra 10.12.5
\n\n应用程序使用:
\n\n每当我运行rails s或rails c时,应用程序都会启动并立即崩溃,并显示以下输出:
\n\n\xe2\x9e\x9c pwf-site git:(master) \xe2\x9c\x97 rails c\nTraceback (most recent call last):\n 67: from bin/rails:4:in `<main>\'\n 66: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require\'\n 65: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency\'\n 64: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require\'\n 63: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require\'\n 62: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi\'\n 61: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register\'\n 60: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi\'\n 59: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require\'\n 58: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/commands.rb:18:in `<main>\'\n 57: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/command.rb:46:in `invoke\'\n 56: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/command/base.rb:65:in `perform\'\n 55: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch\'\n 54: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command\'\n 53: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run\'\n 52: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/commands/console/console_command.rb:95:in `perform\'\n 51: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/command/actions.rb:18:in `require_application_and_environment!\'\n 50: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application.rb:337:in `require_environment!\'\n 49: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require\'\n 48: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency\'\n 47: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require\'\n 46: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require\'\n 45: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi\'\n 44: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register\'\n 43: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi\'\n 42: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require\'\n 41: from /Users/herbyraynaud/code/personal/pwf-site/config/environment.rb:5:in `<main>\'\n 40: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application.rb:361:in `initialize!\'\n 39: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:60:in `run_initializers\'\n 38: from /Users/herbyraynaud/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:205:in `tsort_each\'\n 37: from /Users/herbyraynaud/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:226:in `tsort_each\'\n 36: from /Users/herbyraynaud/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:347:in `each_strongly_connected_component\'\n 35: from /Users/herbyraynaud/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:347:in `call\'\n 34: from /Users/herbyraynaud/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:347:in `each\'\n 33: from /Users/herbyraynaud/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:349:in `block in each_strongly_connected_component\'\n 32: from /Users/herbyraynaud/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:431:in `each_strongly_connected_component_from\'\n 31: from /Users/herbyraynaud/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component\'\n 30: from /Users/herbyraynaud/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:228:in `block in tsort_each\'\n 29: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:61:in `block in run_initializers\'\n 28: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `run\'\n 27: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `instance_exec\'\n 26: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application/finisher.rb:130:in `block in <module:Finisher>\'\n 25: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application/routes_reloader.rb:10:in `execute\'\n 24: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/file_update_checker.rb:83:in `execute\'\n 23: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application/routes_reloader.rb:30:in `block in updater\'\n 22: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application/routes_reloader.rb:20:in `reload!\'\n 21: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application/routes_reloader.rb:41:in `load_paths\'\n 20: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application/routes_reloader.rb:41:in `each\'\n 19: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application/routes_reloader.rb:41:in `block in load_paths\'\n 18: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:285:in `load\'\n 17: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency\'\n 16: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:285:in `block in load\'\n 15: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load\'\n 14: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load\'\n 13: from /Users/herbyraynaud/code/personal/pwf-site/config/routes.rb:1:in `<main>\'\n 12: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require\'\n 11: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency\'\n 10: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require\'\n 9: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require\'\n 8: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi\'\n 7: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register\'\n 6: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi\'\n 5: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require\'\n 4: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/sidekiq-5.2.5/lib/sidekiq/web.rb:13:in `<main>\'\n 3: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require\'\n 2: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency\'\n 1: from /Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require\'\n/Users/herbyraynaud/code/personal/pwf-site/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require\': cannot load such file -- rack/protection (LoadError)\n
Run Code Online (Sandbox Code Playgroud)\n\n机架保护gem 是Sinatra的一部分,所以我尝试将sinatra添加到 Gemfile 以及进行正常的 gem 安装,但看起来这是一个转移注意力的事情。
\n\n以下是我尝试过的各种组合和顺序,但没有任何效果
\n\n有一些类似的问题表明问题出在 bootsnap gem 上,但事实证明它们是为了转移注意力,删除 gem 并在 boot.rb 文件中禁用 bootsnap 并不能解决问题。
\n\n最后,除了修复 sqlite3 版本问题之外,我还能够创建一个新的 Rails 应用程序,我能够毫无问题地运行服务器和控制台。
\n\n这让我相信问题一定是一些 gem 依赖关系搞砸了导致了问题。
\n\n这真是一个令人头疼的问题。
\n\n这是我的 Gemfile
\n\nsource \'https://rubygems.org\'\nruby "2.5.0"\n\ngem \'rails\', \'5.2.2\'\ngem \'bootsnap\'\ngem \'devise\'\ngem "simple_form"\ngem \'simple_enum\', git: \'git://github.com/lwe/simple_enum.git\'\ngem \'kaminari\'\ngem \'activerecord-import\'\ngem \'font-awesome-sass\', \'~> 5.2.0\'\ngem \'pg\'\ngem \'puma\', \'~> 3.7\'\ngem \'activeadmin\'\ngem \'activeadmin_blaze_theme\'\ngem \'inherited_resources\'\ngem \'stripe\'\ngem "aws-sdk-s3", require: false\ngem "image_processing", "~> 1.2"\ngem "prawn"#, :git => "git://github.com/prawnpdf/prawn.git"\ngem \'prawn-table\' #, \'~> 0.1.0\'\ngem "bootstrap", ">= 4.3.1"\ngem \'jquery-rails\'\ngem "chosen-rails"\ngem \'rails-observers\'\ngem \'combine_pdf\'\ngem \'figaro\'\ngem \'exception_handler\'\ngem "chartkick"\ngem \'activeadmin_medium_editor\', git: "git://github.com/hraynaud/activeadmin_medium_editor.git"\ngem \'sidekiq\'\n\ngroup :development, :test do\n gem "better_errors"\n gem "hirb"\n gem \'rspec\'\n gem "rspec-rails"\n gem \'factory_bot\' \n gem "factory_bot_rails"\n gem "faker"\n gem "populator"\n gem "pry"\n gem "pry-nav"\n gem "fakeweb", git: "https://github.com/chrisk/fakeweb.git"\n gem "letter_opener"\nend\n\ngroup :test do\n gem \'capybara\'\n gem "guard-rspec"\n gem "rspec-activemodel-mocks"\n gem "database_cleaner"\n gem "launchy"\n gem \'simplecov\', :require => false\n gem \'selenium-webdriver\'\n gem \'chromedriver-helper\'\nend\n
Run Code Online (Sandbox Code Playgroud)\n
当然,经过几乎一整天的尝试弄清楚这一点并最终发布到SO。SO 帖子发布后 5 分钟我就找到了解决方案。
我没有尝试的一件事是移动线路:
gem bootsnap
Run Code Online (Sandbox Code Playgroud)
稍后在 Gemfile 中所有默认 gem 下面但在开发和测试组之前。完成此操作后,Rails 服务器和 Rails 控制台突然重新开始工作。
奇怪的是我想验证这确实是问题所在,所以我取消了更改,删除了tmp/cache中的 bootsnap 缓存,删除了我的供应商/捆绑包目录并重新执行捆绑安装,并且工作正常。尽管它已经坏了近2天了。就好像暂时将 bootsnap 移动到其他宝石下方以某种方式让卡住的东西松开。奇怪的是,即使从我的应用程序中完全删除 bootsnap 也无法让它再次工作,但只是暂时将其移动到 Gemfile 底部附近就可以了?
所以我比以往任何时候都更加困惑,但至少它又开始工作了。
归档时间: |
|
查看次数: |
4204 次 |
最近记录: |