Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

capistrano 3.0.1 Don't know how to build task 'starting' when using capistrano/rails/assets

When trying to deploy with Capistrano 3.0.1 I get the following error:

cap aborted!
Don't know how to build task 'starting'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/dsl/task_enhancements.rb:5:in `before'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/tasks/assets.rake:9:in `block in <top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/tasks/assets.rake:8:in `<top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/rails/assets.rb:1:in `load'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/rails/assets.rb:1:in `<top (required)>'
/Users/user/Documents/rails/shop/Capfile:18:in `require'
/Users/user/Documents/rails/shop/Capfile:18:in `<top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:22:in `load_rakefile'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:12:in `run'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/bin/cap:3:in `<top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `load'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `<main>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)

This seems to have started when I uncommented the require rows for loading assets and performing migrations in the Capfile:

  # Load DSL and Setup Up Stages
  require 'capistrano/setup'

  # Includes tasks from other gems included in your Gemfile
  #
  # require 'capistrano/rvm'
  # require 'capistrano/rbenv'
  # require 'capistrano/chruby'
  # require 'capistrano/bundler'
  require 'capistrano/rails/assets'
  require 'capistrano/rails/migrations'

  # Loads custom tasks from `lib/capistrano/tasks' if you have any defined.
  Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }

and adding the gems to the Gemfile:

gem 'capistrano',  '~> 3.0.0'
gem 'capistrano-rails', '~> 1.1.0'

It's like the required assets are loaded before the default capistrano tasks so they fail because a the time of loading the starting is not yet defined. I'm not sure how to fix this,

any idea?

thanks

like image 748
Don Giulio Avatar asked Dec 05 '13 12:12

Don Giulio


2 Answers

"Don't know how to build task" errors can be caused by having the 'require' lines in the wrong order in the Capfile.

like image 78
cedarstarr Avatar answered Sep 29 '22 13:09

cedarstarr


The Capfile was missing the line:

 require 'capistrano/deploy'

this is responsible of loading the deployment tasks.

Missing that requirement the tasks won't be loaded and they will be missing.

like image 43
Don Giulio Avatar answered Sep 29 '22 13:09

Don Giulio