Search code examples
ruby-on-rails-4capistrano

Error deploying assets with Capistrano 2.15.5 on Rails 4


I'm having a bazaar error occur when deploying my Rails 4 application with Capistrano 2.15.5. This is an app that i am migrating from Rails 3.2, and this is my first deployment attempt with this version of Capistrano and Rails 4.

It appears to be seriously munging the release path, here is the output from Capistrano:

* executing "cp -- /www/awesome_app/shared/assets/manifest-4f237c854d9f335aac16f877929b75a8.json /www/awesome_app/releases/\\\e\\[34m20140417213248\\\e\\[39\\;49m\\\e\\[0m/assets_manifest.json"
servers: ["staging.private"]
[staging.private] executing command  ** [out :: staging.private] cp: /www/awesome_app/releases/\033[34m20140417213248\033[39;49m\033[0m/assets_manifest.json: No such file or directory
command finished in 613ms
*** [deploy:update_code] rolling back

The asset manifest file gets created ok:

/www/awesome_app/shared/assets/manifest-4f237c854d9f335aac16f877929b75a8.json  

But the cp command it is generating has a totally messed up path:

/www/awesome_app/releases/\\\e\\[34m20140417213248\\\e\\[39\\;49m\\\e\\[0m/assets_manifest.json

This path contains the date, as it should, but also a bunch of what look like escaped characters.

Has anyone seen this or know what is going on here?

thanks!


Solution

  • Answer: upgrade to Capistrano 3.x

    After doing that, my rails 4 app deployed without issues.

    Still no idea what the underlying problem here was.