title: Capistrano no such file to load -- deploy
body: <p>When I try to run any <code>cap</code> commands, I get a &quot;no such file to load -- deploy&quot; error.</p>
  <p>Here is the output:</p>
  <pre><code>Tylers-MacBook-Pro:cap_app Tyler$ cap -T
  /Users/Tyler/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- deploy (LoadError)
  from /Users/Tyler/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/configuration/loading.rb:152:in `require'
  from Capfile:1:in `load'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/configuration/loading.rb:93:in `instance_eval'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/configuration/loading.rb:93:in `load'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/configuration/loading.rb:172:in `load_from_file'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/configuration/loading.rb:89:in `load'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/configuration/loading.rb:86:in `block in load'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/configuration/loading.rb:86:in `each'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/configuration/loading.rb:86:in `load'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/cli/execute.rb:65:in `block in load_recipes'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/cli/execute.rb:65:in `each'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/cli/execute.rb:65:in `load_recipes'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/cli/execute.rb:31:in `execute!'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/lib/capistrano/cli/execute.rb:14:in `execute'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/gems/capistrano-2.11.0/bin/cap:4:in `&lt;top (required)&gt;'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/bin/cap:19:in `load'
  from /Users/Tyler/.rvm/gems/ruby-1.9.2-p290/bin/cap:19:in `&lt;main&gt;'
  </code></pre>
  <p>Here is the Gemfile:</p>
  <pre><code>source 'https://rubygems.org'
  
  gem 'rails', '3.2.1'
  
  # Bundle edge Rails instead:
  # gem 'rails', :git =&gt; 'git://github.com/rails/rails.git'
  
  gem 'sqlite3'
  gem 'capistrano'
  
  # Gems used only for assets and not required
  # in production environments by default.
  group :assets do
    gem 'sass-rails',   '~&gt; 3.2.3'
    gem 'coffee-rails', '~&gt; 3.2.1'
  
  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer'
  
    gem 'uglifier', '&gt;= 1.0.3'
  end
  
  gem 'jquery-rails'
  
  # To use ActiveModel has_secure_password
  # gem 'bcrypt-ruby', '~&gt; 3.0.0'
  
  # To use Jbuilder templates for JSON
  # gem 'jbuilder'
  
  # Use unicorn as the web server
  # gem 'unicorn'
  
  # Deploy with Capistrano
  #   gem 'capistrano'
  
  # To use debugger
  # gem 'ruby-debug19', :require =&gt; 'ruby-debug'
  </code></pre>
  <p>config/deploy.rb</p>
  <pre><code>require 'bundler/capistrano'
  set :application, &quot;CapistranoApp&quot; 
  set :repository,  &quot;ssh://ubuntu@weaponxo.com/~/projectdir.git&quot;
  set :applicationdir, &quot;/var/www/#{application}&quot;
  set :domain, &quot;ror.weaponxo.com&quot;
  
  
  set :scm, :git
  set :branch, &quot;master&quot;
  set :git_shallow_clone, 1
  set :scm_verbose, true
  # Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none`
  
  role :web, domain                          # Your HTTP server, Apache/etc
  role :app, domain                          # This may be the same as your `Web` server
  role :db,  domain, :primary =&gt; true # This is where Rails migrations will run
  
  set :deploy_to, applicationdir
  set :deploy_via, :remote_cache
  
  # if you're still using the script/reaper helper you will need
  # these http://github.com/rails/irs_process_scripts
  
  # If you are using Passenger mod_rails uncomment this:
   namespace :deploy do
     task :start do ; end
     task :stop do ; end
     task :restart, :roles =&gt; :app, :except =&gt; { :no_release =&gt; true } do
       run &quot;#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}&quot;
     end
    end
  </code></pre>
  <p>Capfile:</p>
  <pre><code>require 'deploy'
  # Uncomment if you are using Rails' asset pipeline
  # load 'deploy/assets'
  Dir['vendor/gems/*/recipes/*.rb','vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
  load 'config/deploy' # remove this line to skip loading any of the default tasks
  </code></pre>
  <p>I'm guessing the &quot;deploy&quot; is the reference to <code>require 'deploy'</code> from the Capfile.</p>
  <p>What did I mess up?</p>
  <p>Thanks</p>
  <h2>Edit</h2>
  <p>Changing the first line of the Capfile to</p>
  <pre><code>load 'deploy' if respond_to?(:namespace) # cap2 differentiator
  </code></pre>
  <p>works.  Any idea why the Capfile ships by default with this &quot;broken&quot; line in it?  Do I need to do something different than <code>capify .</code>?</p>