How to build task 'gems:install'

15,880

Check your Capfile, if you are in fact running the gems:install from Capistrano. Apparently, the way to do this is to ensure you're in the right directory internally when running Capistrano.

namespace :gems do
  desc "Install gems"
  task :install, :roles => :app do
    run "cd #{current_path} && #{sudo} rake RAILS_ENV=production gems:install"
  end
end

You could also always specify the Rakefile to be sure using the -f [FILE] option in front of the rake command.

Share:
15,880
richard moss
Author by

richard moss

Updated on June 04, 2022

Comments

  • richard moss
    richard moss almost 2 years

    I am deploying my rails app to a linux server and i have some of the rake tasks missing inlcuding rake gems:install and rake db

    I am running rails 2.3.4 from GEM.

    Why is this?

    How do I fix this? can I update somehow?


    they are missing from rake -T list

    rake apache2                   # Build Apache 2 module
    rake clean                     # Remove compiled files
    rake clobber                   # Remove all generated files
    rake default                   # Build everything
    rake doc                       # Generate all documentation
    rake doxygen                   # Generate Doxygen C++ API documentation if ...
    rake doxygen:clobber           # Remove generated Doxygen C++ API documenta...
    rake doxygen:force             # Force generation of Doxygen C++ API docume...
    rake fakeroot                  # Create a fakeroot, useful for building nat...
    rake nginx                     # Build Nginx helper server
    rake package                   # Build all the packages
    rake package:clean             # Remove package products
    rake package:debian            # Create a Debian package
    rake package:force             # Force a rebuild of the package files
    rake package:gem               # Build the gem file passenger-2.2.4.gem
    rake rdoc                      # Build the rdoc HTML Files
    rake rdoc:clobber              # Remove rdoc products
    rake rdoc:force                # Force a rebuild of the RDOC files
    rake sloccount                 # Run 'sloccount' to see how much code Passe...
    rake test                      # Run all unit tests and integration tests
    rake test:cxx                  # Run unit tests for the Apache 2 and Nginx ...
    rake test:integration          # Run all integration tests
    rake test:integration:apache2  # Run Apache 2 integration tests
    rake test:integration:nginx    # Run Nginx integration tests
    rake test:oxt                  # Run unit tests for the OXT library
    rake test:rcov                 # Run coverage tests for the Ruby libraries
    rake test:restart              # Run the 'restart' integration test infinit...
    rake test:ruby                 # Run unit tests for the Ruby libraries
    

    my rake file contains this:

    # Add your own tasks in files placed in lib/tasks ending in .rake,
    # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
    
    require(File.join(File.dirname(__FILE__), 'config', 'boot'))
    
    require 'rake'
    require 'rake/testtask'
    require 'rake/rdoctask'
    
    require 'tasks/rails'
    

    How do I add the gems and db rake tasks? and why are they missing?