Пятно с джруби

Привет, солнечное пятно можно использовать с Jruby, также вот мои данные приложения

jruby-1.6.1
rails 3.0.7 

when i install all the gems and run rake sunspot:solr:start it gives me the following error 

Gem::LoadError: Could not find RubyGem sunspot (>= 0)

  report_activate_error at /Users/dpatel/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems.rb:861
               activate at /Users/dpatel/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems.rb:255
                    gem at /Users/dpatel/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems.rb:1215
                 (root) at /Users/dpatel/.rvm/gems/jruby-1.6.1@solr/bin/sunspot-solr:18

Однако, когда я запускаю rake sunspot:solr:run, он работает нормально.

Кроме того, когда я ищу с помощью Model.search, он работает нормально, но когда я запускаю solr webapp в браузере и что-то ищу, он не работает.

Может кто-нибудь сказать мне, что происходит, плохо знакомый с солнечным пятном.

-Спасибо

3 ответа

Решение

Привет, я как-то понял, я на jruby, форк не разрешен на jruby, и rake sunspot: solr: start пытается форкировать и выбрасывать ошибку, но rake sunspot: solr: run запускает solr на переднем плане и работает нормально, немного больно но все хорошо:-)

-D

Вы уже разобрались с проблемой разветвления, поэтому, если вы хотите остаться в одной оболочке для разработки и тестирования, я обнаружил, что эти псевдонимы особенно полезны для запуска sunspot в конкретной среде rails, а затем для нахождения и уничтожения этого процесса, когда я закончу:

Если вы оставите порты по умолчанию:

alias sunspot_run_test="RAILS_ENV=test sunspot-solr run &"
alias sunspot_kill_test="fuser -n tcp 8982 -k"
alias sunspot_run_dev="RAILS_ENV=test sunspot-solr run &"
alias sunspot_kill_dev="fuser -n tcp 8982 -k

Если вы меняете порты, вам нужно изменить автоматически сгенерированный sunspot.yml или поместить sunspot.rb в config>initializers, и вы можете добавить -p{$port_num} перед псевдонимами & on run и изменить явные номера портов в {$ port_num} для псевдонимов уничтожения.

Как уже говорил Влад, из вашего объяснения трудно понять, что происходит в браузере. Одна вещь, которая может вас поймать, если вы новичок в sunspot, это то, что вам нужно иметь экземпляр, работающий в среде dev (используйте псевдоним sunspot_run_dev), прежде чем пытаться что-либо CRUD в вашей базе данных, иначе вы получите ошибку отказа в соединении.

Посмотрите псевдонимы bash, не распознаваемые функцией bash: sunspot_rails, jruby, rspec, чтобы узнать больше об устранении неполадок с функциями для переноса команд, требующих sunspot.

Для вопроса с граблями:

gem install sunspot -v 1.2.rc4

Для "не работает в браузере": что значит "не работает"?

  • если результат не возвращается:

Вы можете отлаживать его, сравнивая запросы Solr, сделанные вами вручную в скрипте / консоли, и запросы, сделанные сервером. По умолчанию гем sunspot регистрирует запросы в 'logs / sunspot-solr-development.log'

  • ошибка (какая?)
Другие вопросы по тегам