2

Я пытаюсь использовать пятно с Rails 4, и у меня возникает проблема. Когда у меня есть только gem 'sunspot_rails', '2.0.0' в моем Gemfile я получаю эту ошибку:rake sunspot: solr: начать сбрасывать ошибку

Note: This task has been moved to the sunspot_solr gem. To install, start and 
    stop a local Solr instance, please add sunspot_solr to your Gemfile: 
    group :development do 
    gem 'sunspot_solr' 
end 

Но когда я добавить, что драгоценный камень (также v 2.0.0) Я получаю эту ошибку:

rake aborted! 
Don't know how to build task 'sunspot:solr:start' 
/home/toasty/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `eval' 
/home/toasty/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `<main>' 
(See full trace by running task with --trace) 

Я видел этот вопрос : Sunspot/Solr raketasks not loading in Rails 3 Mountable Engine но, похоже, это не работает в моем случае. У кого-нибудь есть идеи? Is sunspot_solr просто не совместим с рельсами 4?

+0

I имел эту ошибку, добавил 'жемчужину«sunspot_solr'' развития и работал !, но увидеть это https://github.com/sunspot/sunspot/wiki/Configure-Solr-on-Ubuntu,-the-quickest-way – juanpastas

ответ

12

У меня была эта проблема. Я не помню, но я нашел эту рейк задачу, которую нужно добавить

lib/tasks/solr.rake 

namespace :sunspot do 
    namespace :solr do 
    desc 'Start the Solr instance' 
    task :start => :environment do 
     case RUBY_PLATFORM 
     when /w(in)?32$/, /java$/ 
      abort("This command is not supported on #{RUBY_PLATFORM}. " + 
      "Use rake sunspot:solr:run to run Solr in the foreground.") 
    end 

    if defined?(Sunspot::Rails::Server) 
    Sunspot::Rails::Server.new.start 
    else 
    Sunspot::Solr::Server.new.start 
    end 
    puts "Successfully started Solr ..." 
end 

desc 'Run the Solr instance in the foreground' 
task :run => :environment do 
    if defined?(Sunspot::Rails::Server) 
    Sunspot::Rails::Server.new.run 
    else 
    Sunspot::Solr::Server.new.run 
    end 
end 

desc 'Stop the Solr instance' 
task :stop => :environment do 
    case RUBY_PLATFORM 
    when /w(in)?32$/, /java$/ 
    abort("This command is not supported on #{RUBY_PLATFORM}. " + 
      "Use rake sunspot:solr:run to run Solr in the foreground.") 
    end 

    if defined?(Sunspot::Rails::Server) 
    Sunspot::Rails::Server.new.stop 
    else 
    Sunspot::Solr::Server.new.stop 
    end 
    puts "Successfully stopped Solr ..." 
end 

# for backwards compatibility 
task :reindex => :"sunspot:reindex" 
end 
end 

EDIT ~ Source of Rakefile