首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Capistrano启动Sunspot未找到Java

Capistrano启动Sunspot未找到Java
EN

Stack Overflow用户
提问于 2013-02-21 16:13:57
回答 1查看 240关注 0票数 0

我正在使用Sunspot Solr,并且我正在编写一个Capistrano任务来启动/停止它。

代码语言:javascript
复制
  namespace :sunspot do
    task :start, :roles => :app do
      run "cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec rake sunspot:solr:start"
    end
  end

然而,当我运行这个任务时,我得到了找不到Java的错误:

代码语言:javascript
复制
*** [err :: example.com] /home/user/deploy/project/shared/bundle/ruby/1.9.1/gems/sunspot_solr-1.3.3/lib/sunspot/solr/java.rb:5:in ``': No such file or directory - java -version (Errno::ENOENT)
*** [err :: example.com] from /home/user/deploy/project/shared/bundle/ruby/1.9.1/gems/sunspot_solr-1.3.3/lib/sunspot/solr/java.rb:5:in `installed?'
*** [err :: example.com] from /home/user/deploy/project/shared/bundle/ruby/1.9.1/gems/sunspot_solr-1.3.3/lib/sunspot/solr/server.rb:200:in `ensure_java_installed'
*** [err :: example.com] from /home/user/deploy/project/shared/bundle/ruby/1.9.1/gems/sunspot_solr-1.3.3/lib/sunspot/solr/server.rb:27:in `initialize'
*** [err :: example.com] from /home/user/deploy/project/shared/bundle/ruby/1.9.1/gems/sunspot_solr-1.3.3/bin/sunspot-solr:16:in `new'
*** [err :: example.com] from /home/user/deploy/project/shared/bundle/ruby/1.9.1/gems/sunspot_solr-1.3.3/bin/sunspot-solr:16:in `<top (required)>'
*** [err :: example.com] from /home/user/deploy/project/shared/bundle/ruby/1.9.1/bin/sunspot-solr:23:in `load'
*** [err :: example.com] from /home/user/deploy/project/shared/bundle/ruby/1.9.1/bin/sunspot-solr:23:in `<main>'
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3@project' -c 'cd /home/user/deploy/project/current && RAILS_ENV=staging bundle exec rake sunspot:solr:start'" on example.com

Sunspot的Java检查代码是here

如果我在服务器上手动运行cd /home/user/deploy/project/current && RAILS_ENV=staging bundle exec rake sunspot:solr:start,它会按预期工作。如果命令是通过Capistrano调用的,我不知道为什么Java不存在。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-18 18:21:14

在我的服务器上,Java路径是在`/etc/profile‘脚本中加载的。

但是,Capistrano不会加载该脚本。

根据this discussion的说法,在Capistrano deploy.rb文件中设置它将确保它的外壳加载配置文件脚本,该脚本的术语是为我设置Java path。

default_run_options[:shell] = '/bin/bash --login'

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14997426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档