I just updated to the newest TS, removed my require line for it in
deploy.rb and got this message during deployment:

undefined local variable or method `thinking_sphinx' for
#<Capistrano::Configuration::Namespaces::Namespace:0x21dc098>
(NameError)

Adding the require line back (with the set :rails_root thing) got it
working again.

Can anyone else confirm this?



On Sun, Aug 2, 2009 at 6:39 AM, Pat Allan<[email protected]> wrote:
>
> Okay, what I've done is used cap's auto-loading of plugin recipes (see
> inside Capfile), so it loads automatically. You don't need to add the
> load/require statement at all.
>
> Unless you're using TS as a gem, but that syntax is cleaner anyway.
>
> --
> Pat
>
> On 30/07/2009, at 6:08 PM, Wade Winningham wrote:
>
>>
>> I've run into this issue just now so I suppose it's still an issue.
>>
>> Using the set :rails_root patch Bharat posted about previously does
>> get it to work.
>>
>> -Wade
>>
>> On Jul 26, 11:50 am, Pat Allan <[email protected]> wrote:
>>> Hi Galen
>>>
>>> TS was updated a while ago to get around this issue - or something
>>> like it - how recent is your version of Thinking Sphinx?
>>>
>>> --
>>> Pat
>>>
>>> On 22/07/2009, at 2:47 PM, Galen wrote:
>>>
>>>
>>>
>>>
>>>
>>>> Hey, I'm having the same problem with one caveat:
>>>
>>>> Capistrano is finding my file via the relative path. Only, it still
>>>> thinks its not in a capistrano recipe. I've tried it in my Capfile
>>>> and
>>>> in my deploy.rb.
>>>
>>>> Any thoughts?
>>>
>>>> Here's the actual error:
>>>
>>>> /Library/Ruby/Gems/1.8/gems/capistrano-2.5.5/lib/capistrano/
>>>> configuration/loading.rb:18:in `instance':Please require this file
>>>> from within a Capistrano recipe (LoadError)
>>>>    from ./vendor/plugins/thinking-sphinx/lib/thinking_sphinx/deploy/
>>>> capistrano.rb:1:in `load'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.5.5/lib/capistrano/
>>>> configuration/loading.rb:172:in `load_from_file'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.5.5/lib/capistrano/
>>>> configuration/loading.rb:89:in `load'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.5.5/lib/capistrano/
>>>> configuration/loading.rb:86:in `load'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.5.5/lib/capistrano/
>>>> configuration/loading.rb:86:in `each'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.5.5/lib/capistrano/
>>>> configuration/loading.rb:86:in `load'
>>>>    from Capfile:3:in `load'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.5.5/lib/capistrano/
>>>> configuration/loading.rb:172:in `load_from_file'
>>>>     ... 8 levels...
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.5.5/lib/
>>>> capistrano/cli/
>>>> execute.rb:14:in `execute'
>>>>    from /Library/Ruby/Gems/1.8/gems/capistrano-2.5.5/bin/cap:4
>>>>    from /usr/bin/cap:19:in `load'
>>>>    from /usr/bin/cap:19
>>>
>>>> Thanks in advance!
>>>
>>>> On Jun 8, 2:31 am, Pat Allan <[email protected]> wrote:
>>>>> Hmm, so this needs to be neater for those using TS as a plugin -
>>>>> given
>>>>> that RAILS_ROOT doesn't exist, the Rails environment isn't loaded,
>>>>> and
>>>>> thus the load paths aren't set. I'll keep it in mind and see what I
>>>>> can do.
>>>
>>>>> Good to know you've got it working though :)
>>>
>>>>> --
>>>>> Pat
>>>
>>>>> On 06/06/2009, at 10:46 AM, Bharat wrote:
>>>
>>>>>> Pardon my somewhat rusty Capistrano skills.  But the RAILS_ROOT is
>>>>>> not
>>>>>> defined within the Capistrano environment, duh.  Here is what I
>>>>>> did:
>>>
>>>>>> set :rails_root, "#{File.dirname(__FILE__)}/.."
>>>>>> require "#{rails_root}/vendor/plugins/thinking-sphinx/lib/
>>>>>> thinking_sphinx/deploy/capistrano"
>>>
>>>>>> Capistrano variable :rails_root is unashamedly stolen from the
>>>>>> boot.rb
>>>>>> file in the same 'config' directory (modeled after RAILS_ROOT).
>>>>>> Here
>>>>>> is my Capistrano script with Thinking Sphinx recipes loaded if
>>>>>> anyone
>>>>>> is interested:
>>>
>>>>>> set :rails_root, "#{File.dirname(__FILE__)}/.."
>>>>>> require "#{rails_root}/vendor/plugins/thinking-sphinx/lib/
>>>>>> thinking_sphinx/deploy/capistrano"
>>>
>>>>>> set :application, "ssfilemgr"
>>>>>> set :repository, "[email protected]:some_git_user/ssfilemgr.git"
>>>
>>>>>> set :user, "bruparel"
>>>>>> set :runner, "bruparel"
>>>>>> set :admin_runner, runner
>>>
>>>>>> set :domain, '192.168.1.104'
>>>>>> role :app, domain
>>>>>> role :web, domain
>>>>>> role :db,  domain, :primary => true
>>>
>>>>>> set :deploy_to, "/home/#{user}/r_work/#{application}"
>>>
>>>>>> set :deploy_via, :remote_cache
>>>>>> set :scm, "git"
>>>>>> set :branch, "master"
>>>>>> set :scm_verbose, true
>>>>>> set :use_sudo, false
>>>
>>>>>> namespace :deploy do
>>>
>>>>>>  desc "Restart Application"
>>>>>>  task :restart do
>>>>>>    run "touch #{current_path}/tmp/restart.txt"
>>>>>>  end
>>>
>>>>>>  desc "Cleanup older revisions"
>>>>>>  task :after_deploy do
>>>>>>    cleanup
>>>>>>  end
>>>
>>>>>> end
>>>
>>>>>> after "deploy:setup", "thinking_sphinx:shared_sphinx_folder"
>> >
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" 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/thinking-sphinx?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to