Я установил puma много раз раньше и никогда не имел этой проблемы. Я следую инструкциям героку дословно. Я создал Procfile
с этим внутри:Пума-инициализатор не работает с рельсами 4.2
web: bundle exec puma -C config/puma.rb
Здесь находится файл конфигурации puma.rb:
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['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
# Worker specific setup for Rails 4.1+
# See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
ActiveRecord::Base.establish_connection
end
Когда я запустить сервер, запустив rails s
или rails s puma
я получить
=> Booting Puma
=> Rails 4.2.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
/Users/david/projects/abc/config/initializers/puma.rb:1:in `<top (required)>': undefined method `workers' for main:Object (NoMethodError)
Что происходит и как его исправить? Я использую sqlite3 в разработке и postgresql в производстве, но я получаю ту же ошибку в обеих средах. Я использую rails 4.2.0 и ruby 2.2.0.
я. У меня есть драгоценный камень, и я связал его. – Philip7899
Не могли бы вы попробовать добавить '' require 'puma''' перед '' work Integer (ENV [' WEB_CONCURRENCY '] || 2) '' line? – Zepplock
Спасибо. Пробовал это. Я все равно получаю ту же ошибку. – Philip7899