4

私はスフィンクスを考えるために宝石を使用しています:

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

そう:

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

ウェブサイトで規定されているものは機能しません。

gem を使用するときに、カピストラーノ思考のスフィンクス タスクを deploy.rb ファイルに含めるにはどうすればよいですか?

編集

追加: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: main:Object の未定義のメソッド `namespace' (NoMethodError)
        from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:`gem_original_require'内
        from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
        /usr/lib/ruby/gems/1.8/gems/capistrano-2.5.8/lib/capistrano/configuration/loading.rb:152 から:「require」で

4

4 に答える 4

5

別の回答 (thinging_sphinx/deploy/capistrano) で定義されている単純な require が機能するはずです。そうでない場合、何かエラーが表示されていますか? どのバージョンの gem を使用していますか?

sudo gem updateそれが失敗した場合は、宝石が古い場合に試してみてください。

于 2009-09-22T06:57:32.237 に答える
3

@Khelll:トピックを読んでいただけますか?TS をプラグインとして使用するためのコードを貼り付けています。

Gemとして使用する必要があります:

require 'thinking_sphinx/deploy/capistrano'

それは完璧に機能します。

Web サイトで言及されている 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"
于 2011-01-03T09:49:35.143 に答える
1

gem をインストールしてからプラグインを要求することについて話しているのです。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'

cap -T を実行すると、thinging_sphinx capistrano タスクが表示されます。上に書いたのは、プラグインをインストールしていたからだと思います。/meは自分を叩きます。

于 2009-09-22T05:17:33.510 に答える
0

どうですか:

require 'vendor/plugins/thinking_sphinx/lib/thinking_sphinx/deploy/capistrano'
于 2009-09-22T05:16:59.143 に答える