2009-09-22 2 views
4

Im en utilisant la pierre précieuse pour penser sphynx:Comment puis-je inclure Capistrano penser des tâches lors de l'utilisation du sphinx gemme

sudo gem install freelancing-god-thinking-sphinx \ 
    --source http://gems.github.com 

Alors:

require 'vendor/plugins/thinking-sphinx/recipes/thinking_sphinx' 

Ce qui est prescribed on the website ne fonctionne pas.

Comment inclure les tâches sphinx capistrano thinking dans mon fichier deploy.rb lors de l'utilisation de la gemme?

EDIT

Ajout: require 'thinking_sphinx/deploy/capistrano'

me donne:

 
/usr/lib/ruby/gems/1.8/gems/freelancing-god-thinking-sphinx-1.1.12/lib/thinking_sphinx/deploy/capistrano.rb:1: undefined method `namespace' for main:Object (NoMethodError) 
     from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
     from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' 
     from /usr/lib/ruby/gems/1.8/gems/capistrano-2.5.8/lib/capistrano/configuration/loading.rb:152:in `require' 

+0

Gem ou plug-in ?? – khelll

Répondre

5

Le besoin simple tel que défini dans une autre réponse - thinking_sphinx/deploy/capistrano - devrait fonctionner. Si ce n'est pas le cas, voyez-vous des erreurs? Quelle version de la gemme utilisez-vous?

Si cela échoue, essayez peut-être un sudo gem update dans le cas où vos gemmes sont vieilles.

+0

Pat, merci beaucoup d'avoir pris le temps de répondre, Je reçois toujours une erreur (en utilisant le cap 2.5.8 et le sphinx 1.1.12) Je mets un journal complet dans ma réponse –

+0

OK, * sudo gem update * fixed any désordre que j'avais. Merci pour votre aide et pour la superbe bibliothèque. (J'espère que cela ne vous dérange pas que je l'ai édité dans votre réponse) –

+0

Pas du tout, tant que vous l'avez fait fonctionner :) Je ne pense pas que les tâches de plafond étaient là dans 1.1.12 (pourrait être , ça fait quelques mois), donc c'était presque certainement la cause. – pat

0

Que diriez-vous:

require 'vendor/plugins/thinking_sphinx/lib/thinking_sphinx/deploy/capistrano' 
1

Vous parlez d'installer un petit bijou et nécessitant une brancher. Avez-vous essayé d'installer la version plugin de Thinking Sphinx?

EDIT: Je parle trop rapidement, clairement. Les recettes de déploiement sont au lib/thinking_sphinx/deploy/capistrano. Essayez require 'thinking_sphinx/deploy/capistrano' et vous devriez avoir accès aux recettes de déploiement - dans un projet de test, j'ai simplement jeté ça dans mon Rakefile et j'ai accès à celles-ci.

Sur un tout nouveau projet, je mets ce qui suit dans mon Capfile:

load 'deploy' if respond_to?(:namespace) # cap2 differentiator 
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) } 
load 'config/deploy' 
require 'thinking_sphinx/deploy/capistrano' 

Quand je fais cap -T, je vois les tâches de Capistrano de thinking_sphinx. Je pense que ce que j'ai écrit ci-dessus était parce que j'avais installé le plugin. moi me sentant moi-même.

+0

ouais ça a échoué –

+0

Hmm, je vais vérifier pour voir si j'ai fait quelque chose différemment. – theIV

+0

Ok, sudo gem mise à jour fixé quel que soit le désordre que j'avais –

3

@Khelll: pourriez-vous s'il vous plaît lire le sujet? Vous collez du code pour utiliser TS en tant que plugin.

Comme Gem vous devez utiliser:

require 'thinking_sphinx/deploy/capistrano' 

Cela fonctionne parfaitement.

Il faut également modifier les tâches de Capistrano mentionnées sur le site afin de refléter la nouvelle avant et après callbacks de Capistrano de se débarrasser des avis de: désapprobation

before "deploy:update_code", "thinking_sphinx:stop" 
after "deploy:symlink", "symlink_sphinx_indexes" 
after "deploy:symlink", "thinking_sphinx:configure" 
after "deploy:symlink", "thinking_sphinx:start" 
+0

c'est exactement ce que je cherchais, avec une exception: j'avais besoin de changer les 3 dernières lignes (après 'deploy: update_code') en 'après 'deploy: symlink" '. Sinon, current_path fait toujours référence à l'ancien répertoire. – carpeliam

Questions connexes