Search code examples
rubyvagrantcapistrano

capistrano suddenly stopped working


i'm using a ubuntu vagrant box with installed capistrano to develop an application. when i tried to deploy i get the following error:

/usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:152:in `require': no such file to load -- capistrano/ext/multistage (LoadError)
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:152:in `require'
    from ./config/deploy.rb:3:in `load'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:172:in `load_from_file'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:89:in `load'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:86:in `load'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:86:in `each'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:86:in `load'
    from Capfile:4:in `load'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:172:in `load_from_file'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:89:in `load'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:86:in `load'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:86:in `each'
    from /usr/lib/ruby/vendor_ruby/capistrano/configuration/loading.rb:86:in `load'
    from /usr/lib/ruby/vendor_ruby/capistrano/cli/execute.rb:65:in `load_recipes'
    from /usr/lib/ruby/vendor_ruby/capistrano/cli/execute.rb:65:in `each'
    from /usr/lib/ruby/vendor_ruby/capistrano/cli/execute.rb:65:in `load_recipes'
    from /usr/lib/ruby/vendor_ruby/capistrano/cli/execute.rb:31:in `execute!'
    from /usr/lib/ruby/vendor_ruby/capistrano/cli/execute.rb:14:in `execute'
    from /usr/bin/cap:4

as google suggested i tried to reinstall capistrano, but this failed because of dependencies(net-ssh requires ruby >= 2.0) so i installed net-ssh v2.9.2

sudo gem install net-ssh -v 2.9.2
Fetching: net-ssh-2.9.2.gem (100%)
Successfully installed net-ssh-2.9.2
1 gem installed

but now the next dependency error occures... How do i make a fresh installation of capistrano working? do i need a newer version of ruby(apt-get install ruby tells me that the newest version is already installed)? Or is the cause of this error something complete different?


Solution

  • I can't see anything in your trace about what version of ruby you're on, but you did say "net-ssh requires ruby >= 2.0", so you might need a newer version of ruby like you said. You can check the version of ruby you're using with ruby -v. I would also recommend using a version manager so that you can use multiple versions between projects. I find RVM or rbenv to be good starting points.