'Errno::ENOENT: No such file or directory @ rb_sysopen - /tmp/

I'm trying to push my app to Heroku, however I'm getting this rather arbitrary error:

Errno::ENOENT: No such file or directory @ rb_sysopen -\
       /tmp/build_.../config/aws.yml
       /tmp/build_.../vendor/bundle/ruby/2.1.0/gems/safe_yaml-1.0.3/lib/safe_yaml.rb:39:in `initialize'
       /tmp/build_.../vendor/bundle/ruby/2.1.0/gems/safe_yaml-1.0.3/lib/safe_yaml.rb:39:in `open'
       /tmp/build_.../vendor/bundle/ruby/2.1.0/gems/safe_yaml-1.0.3/lib/safe_yaml.rb:39:in `unsafe_load_file'
       /tmp/build_.../vendor/bundle/ruby/2.1.0/gems/safe_yaml-1.0.3/lib/safe_yaml.rb:24:in `load_file_with_options'
       /tmp/build_.../config/initializers/aws.rb:1:in `<top (required)>'
       /tmp/build_.../vendor/bundle/ruby/2.1.0/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:223:in `load'
       /tmp/build_.../vendor/bundle/ruby/2.1.0/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:223:in `block in load'
       /tmp/build_.../vendor/bundle/ruby/2.1.0/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:214:in `load_dependency'
       /tmp/build_.../vendor/bundle/ruby/2.1.0/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:223:in `load'
       /tmp/build_.../vendor/

I have the proper keys in the aws.yml file so I'm not sure why I'm getting this error, also it works fine locally. I've tried removing the /tmp folder and letting Heroku re-generate it which also didn't work. How can I fix it?



Solution 1:[1]

Are you sure your config/aws.yml is in the right location and formed properly? Please check for all the references to it on your codebase.

When executing rake tasks the whole rails environment gets loaded. The error you mentioned arises if any file called by initializers or rake tasks doesn't exist or is not formed correctly.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 rebagliatte