ruby-on-rails-4 – bonsai-elasticsearch-rails – 不能要求’e
发布时间:2020-12-17 02:55:50 所属栏目:百科 来源:网络整理
导读:当我跑: $heroku run bundle exec rake environment elasticsearch:import:model CLASS='Artist' FORCE=true 终端的响应是: Running bundle exec rake environment elasticsearch:import:model CLASS=Artist FORCE=true on doremi... up,run.3015Starting
当我跑:
$heroku run bundle exec rake environment elasticsearch:import:model CLASS='Artist' FORCE=true 终端的响应是: Running bundle exec rake environment elasticsearch:import:model CLASS=Artist FORCE=true on doremi... up,run.3015 Starting up a new ElasticSearch client with https://hexcode.bonsai.io rake aborted! NameError: uninitialized constant Elasticsearch /app/vendor/bundle/ruby/2.0.0/gems/bonsai-elasticsearch-rails-0.0.4/lib/bonsai/elasticsearch/rails.rb:4:in `<top (required)>' /app/vendor/bundle/ruby/2.0.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:85:in `require' /app/vendor/bundle/ruby/2.0.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:85:in `rescue in block in require' /app/vendor/bundle/ruby/2.0.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:68:in `block in require' /app/vendor/bundle/ruby/2.0.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:61:in `each' /app/vendor/bundle/ruby/2.0.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:61:in `require' /app/vendor/bundle/ruby/2.0.0/gems/bundler-1.9.7/lib/bundler.rb:134:in `require' /app/config/application.rb:16:in `<top (required)>' /app/Rakefile:4:in `require' /app/Rakefile:4:in `<top (required)>' (See full trace by running task with --trace) 该错误似乎源自lib / tasks / elasticsearch.rake中的此require语句 require 'elasticsearch/rails/tasks/import' 我已经检查过我所有的弹性宝石都是最新版本:弹性搜索轨道和弹性搜索模型0.1.7,盆景弹性搜索轨道0.0.4,但我注意到这里有https://rubygems.org/gems/bonsai-elasticsearch-rails个盆景弹性-search rails依赖于bundler 1.5而Heroku使用的是1.9.7,据我所见,这是不可能改变的.这可能是问题的关键吗? 我尝试部署时,我的日志中也有类似的错误 Oct 09 17:04:27 doremi app/worker.1: NameError: uninitialized constant Elasticsearch Oct 09 17:04:27 doremi app/worker.1: rake aborted! Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bonsai-elasticsearch-rails-0.0.4/lib/bonsai/elasticsearch/rails.rb:4:in `<top (required)>' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:85:in `require' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:85:in `rescue in block in require' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:68:in `block in require' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:61:in `each' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:61:in `require' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler.rb:134:in `require' Oct 09 17:04:27 doremi app/worker.1: /app/config/application.rb:16:in `<top (required)>' Oct 09 17:04:27 doremi app/worker.1: /app/Rakefile:4:in `require' Oct 09 17:04:27 doremi app/worker.1: /app/Rakefile:4:in `<top (required)>' Oct 09 17:04:27 doremi app/worker.1: LoadError: cannot load such file -- bonsai-elasticsearch-rails Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:76:in `require' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:76:in `block (2 levels) in require' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:72:in `each' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:72:in `block in require' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:61:in `each' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:61:in `require' Oct 09 17:04:27 doremi app/worker.1: /app/vendor/bundle/ruby/2.2.0/gems/bundler-1.9.7/lib/bundler.rb:134:in `require' Oct 09 17:04:27 doremi app/worker.1: /app/config/application.rb:16:in `<top (required)>' Oct 09 17:04:27 doremi app/worker.1: /app/Rakefile:4:in `require' Oct 09 17:04:27 doremi app/worker.1: /app/Rakefile:4:in `<top (required)>' 解决方法
rails / bundler需要宝石按照它们在gemfile中声明的顺序.发生此错误是因为我在elasticsearch-rails和elasticsearch-model之上声明了bonsai-elasticsearch-rails.因此,通过在另外两个下面宣布盆景弹性搜索轨道来解决它.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |