2015-06-07 4 views
2

Я пытался развернуть свое приложение на герою и получил эту ошибку. Я искал сайт и не видел никого с проблемой YAML, поэтому подумал, что я спрашиваю в Интернете. Любая помощь будет принята с благодарностьюHeroku - NameError: uninitialized constant Rails :: Application :: YAML

remote: -----> Preparing app for Rails asset pipeline 
remote:  Running: rake assets:precompile 
remote:  rake aborted! 
remote:  NameError: uninitialized constant Rails::Application::YAML 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:377:in `secrets' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/config/environments/production.rb:2:in `block in <top (required)>' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/railtie.rb:210:in `instance_eval' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/railtie.rb:210:in `configure' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/config/environments/production.rb:1:in `<top (required)>' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:598:in `block (2 levels) in <class:Engine>' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:597:in `each' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:597:in `block in <class:Engine>' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `instance_exec' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `run' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:55:in `block in run_initializers' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:44:in `each' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:44:in `tsort_each_child' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:54:in `run_initializers' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:352:in `initialize!' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/config/environment.rb:5:in `<top (required)>' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:328:in `require' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:328:in `require_environment!' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:443:in `block in run_tasks_blocks' 
remote:  /tmp/build_78ce680a858c094f796e2b21b5bb1826/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.3.1/lib/sprockets/rails/task.rb:64:in `block (2 levels) in define' 
remote:  Tasks: TOP => environment 
remote:  (See full trace by running task with --trace) 

Покидаем мои Heroku журналы

2015-06-07T00:58:16.085579+00:00 heroku[slug-compiler]: Slug compilation started 
2015-06-07T00:58:16.085600+00:00 heroku[slug-compiler]: Slug compilation failed: failed to compile Ruby app 
+0

@muistooshort не совсем уверен, что я понимаю вопрос. У меня есть файл database.yml и secrets.yml, а файл en.yml – kkomaz

+1

запустите 'grep -r YAML config' из каталога приложений rails, чтобы найти любые экземпляры' YAML' в папке 'config /'. –

ответ

6

Я не совсем уверен, что случилось, но я сделал

require 'yaml' 

в моем файле production.rb и это сработало. Я не знаю, почему он работает, но обновляется, если я узнаю.

1

В некоторых версиях рельсов (4.2.1 и 4.2.2) есть ошибка. В первой строке сообщения об ошибке отсутствует файл require 'yaml'. На VPS вы можете вставить его самостоятельно, но я не уверен, как это сделать с Heroku. Когда я поднял его на GitHub, мне посоветовали перейти на следующую версию рельсов ...

0

Я добавил require 'yaml' в development.rb, production.rb и test.rb только для того, чтобы быть в безопасности. Сейчас работает отлично. Ruby 2.3.3 и Rails 4.2.0

Смежные вопросы