1
當我試圖部署Rails應用程序的Heroku,我收到此錯誤:如果我嘗試運行彪馬:無法加載應用程序:NameError:未初始化不斷
Puma starting in single mode...
2017-02-27T15:08:03.908788+00:00 app[web.1]: * Version 3.7.0 (ruby 2.3.1-p112), codename: Snowy Sagebrush
2017-02-27T15:08:03.908789+00:00 app[web.1]: * Min threads: 5, max threads: 5
2017-02-27T15:08:03.908790+00:00 app[web.1]: * Environment: production
2017-02-27T15:08:05.942041+00:00 app[web.1]: ! Unable to load application: NameError: uninitialized constant Api::V1::AController
2017-02-27T15:08:05.942133+00:00 app[web.1]: bundler: failed to load command: puma (/app/vendor/bundle/ruby/2.3.0/bin/puma)
2017-02-27T15:08:05.942266+00:00 app[web.1]: NameError: uninitialized constant Api::V1::AController
Here is the link to the full log
在我的開發環境下面的代碼,一切都運行得很好:
bundle exec puma -C config/puma.rb
我跑使用-e生產標誌我在本地機器上軌,它運行正常,沒有出現錯誤。只有當我部署到Heroku時纔會發生這種情況。
puma.rb
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
ActiveRecord::Base.establish_connection
end
我已經試過:
- 創建在Heroku上一個新實例只是要確定有沒有與當前實例的問題
- 測試Puma的多個版本
- 檢查development.rb和production.rb,看看有什麼不一樣
我在做什麼現在:
- 經歷每一次提交發現的應用是什麼改變了,並設法找到該應用程序 的原因
我相信我正在過度複雜的問題......對此有何看法?