Как включить задачи мышления сфинкса при использовании драгоценного камня - PullRequest
4 голосов
/ 22 сентября 2009

Я использую драгоценный камень для мышления сфинкса:

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

Итак:

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

Что прописано на сайте не работает.

Как включить задачи мышления сфинкса capistrano в мой файл deploy.rb при использовании гема?

EDIT

Добавление: require 'thinking_sphinx/deploy/capistrano'

дает мне:

 
/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'

Ответы [ 4 ]

5 голосов
/ 22 сентября 2009

Простое требование, определенное в другом ответе - think_sphinx / deploy / capistrano - должно работать Если это не так, вы видите какие-либо ошибки? Какую версию камня вы используете?

Если это не удастся, возможно, попробуйте sudo gem update, если ваши драгоценные камни старые.

3 голосов
/ 03 января 2011

@ Khelll: не могли бы вы прочитать тему? Вы вставляете код для использования TS в качестве плагина.

В качестве самоцвета вы должны использовать:

require 'thinking_sphinx/deploy/capistrano'

Это прекрасно работает.

Следует также изменить задачи capistrano, упомянутые на сайте, чтобы они отражали новые обратные вызовы capistrano до и после, чтобы избавиться от уведомлений об устаревании:

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"
1 голос
/ 22 сентября 2009

Вы говорите об установке гема, а затем о необходимости плагина. Вы пытались установить версию плагина Thinking Sphinx?

РЕДАКТИРОВАТЬ: Я говорю слишком быстро, ясно. Рецепты развертывания находятся в lib/thinking_sphinx/deploy/capistrano. Попробуйте require 'thinking_sphinx/deploy/capistrano', и у вас должен быть доступ к рецептам развертывания - в тестовом проекте я просто добавил это в свой Rakefile, и у меня есть доступ к ним.

В новом проекте я поместил в свой 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'

Когда я делаю заглавные буквы -T, я вижу задачи think_sphinx capistrano. Я думаю, что я написал выше, потому что у меня был установлен плагин. / я чмокаю себя.

0 голосов
/ 22 сентября 2009

Как насчет:

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