More specifically thor barfs with:

  * executing "cd /var/www/merb-app/releases/20090122010708; bin/thor
merb:gem:redeploy"
    servers: ["igor"]
    [igor] executing command
*** [err :: igor] /usr/local/lib/site_ruby/1.8/rubygems.rb:636:in
`report_activate_error': Could not find RubyGem thor (>= 0)
(Gem::LoadError)
*** [err :: igor] from /usr/local/lib/site_ruby/1.8/rubygems.rb:141:in
`activate'
*** [err :: igor] from /usr/local/lib/site_ruby/1.8/rubygems.rb:49:in
`gem'
*** [err :: igor] from bin/thor:30

This is because the default merb .gitignore file no longer includes
thor in the git repo.  This was changed in the following commit:
http://github.com/wycats/merb/commit/7243f0a6fb16f03c5b5e255f095c91ced9654e06

So either you are supposed to include (a deployed) thor in your
application's git repo or you are supposed to rely on thor being
installed on the deployed to system.  Which is the best practice?

Thanks,
Carl

On Jan 21, 4:57 pm, Carl Porth <[email protected]> wrote:
> Right, I'm using this method of redeploying native gems.  However,
> what happens on the first deploy?  bin/thor won't work because it
> hasn't been redeployed.
>
> Thanks,
> Carl
>
> On Jan 21, 4:31 pm, Matt Aimonetti <[email protected]> wrote:
>
> > Here is my recipe for the merb book.
>
> > set :application, "app"
> > set :repository,  "git://github.com/mattetti/app.git"
>
> > # If you aren't deploying to /u/apps/#{application} on the target
> > # servers (which is the default), you can specify the actual location
> > # via the :deploy_to variable:
> > set :deploy_to, "~/merb-apps/#{application}"
>
> > # If you aren't using Subversion to manage your source code, specify
> > # your SCM below:
> > set :scm, :git
> > set :git_shallow_clone,     1
> > set :git_enable_submodules, 1
> > set :deploy_via,            :remote_cache
> > set :repository_cache,      "#{application}-src"
> > set :ssh_options,           :forward_agent => true
> > set :keep_releases,         3
> > set :use_sudo,              false
>
> > set :user,                  "mattetti"
> > # set :password,              ""
>
> > # comment out if it gives you trouble. newest net/ssh needs this set.
> > ssh_options[:paranoid] = false
>
> > role :app, "18.47.26.192"
> > role :web, "18.47.26.192"
> > role :db,  "18.47.26.192", :primary => true
>
> > #
> > # ==== Merb variables
> > #
>
> > set :merb_adapter,     "mongrel"
> > set :merb_environment, ENV["MERB_ENV"] || "production"
> > set :merb_port,        5500
> > set :merb_servers,     3
>
> > after "deploy:update_code", "symlink:symgem"
> > after "symlink:symgem","deploy:native_gems"
> > after "deploy:symlink", "deploy:add_timestamp"
>
> > namespace :symlink do
> >   desc "symlinks gems/gems"
> >   task :symgem, :roles => :app do
> >     run "ln -s #{shared_path}/gems/gems #{latest_release}/gems/gems"
> >   end
> > end
>
> > namespace :deploy do
>
> >   # nginx -c ~/etc/nginx.conf
>
> >   desc "stops application server"
> >   task :stop do
> >     run "cd #{latest_release}; bin/merb -K all"
> >   end
>
> >   desc "starts application server"
> >   task :start do
> >     run "cd #{latest_release}; bin/merb -a #{merb_adapter} -p #{merb_port}
> > -c #{merb_servers} -e #{merb_environment}"
> >   end
>
> >   desc "recompile native gems"
> >   task :native_gems do
> >     run "cd #{latest_release};bin/thor merb:gem:redeploy"
> >   end
>
> >   desc "restarts application server(s)"
> >   task :restart do
> >     deploy.stop
> >     deploy.start
> >   end
>
> >   desc "Restart apache"
> >   task :restart_apache, :roles => :web do
> >     sudo "svcadm restart apache"
> >   end
>
> >   desc "add a timestamp"
> >   task :add_timestamp do
> >     run "cd #{latest_release}; ./bin/rake add_timestamp"
> >   end
>
> > end
>
> > On Wed, Jan 21, 2009 at 4:53 PM, Carl Porth <[email protected]> wrote:
>
> > > How can one use the bundled version of thor to redeploy your gems when
> > > in order to use a bundled gem it has to be redeployed?  (That was a
> > > mouthful.)  Seems like a chicken/egg sort of problem.  What best
> > > practice should I be using?
>
> > > Thanks,
> > > Carl
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"merb" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/merb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to