【问题标题】:Deploying with Capistrano, JAVA_HOME is not being read使用 Capistrano 部署,未读取 JAVA_HOME
【发布时间】:2012-07-20 15:25:44
【问题描述】:

我正在使用 Capistrano 进行部署,一切看起来都很好,直到我进入 Rjb 部分..

我可以的

$ echo $JAVA_HOME
 /usr/lib/jvm/java-1.6.0-openjdk-amd64

不仅如此,我还可以在服务器上执行 gem install rjb 并且它正在安装中......

但是当我尝试时:

$ cap bundle:install 

我明白了

** [out :: ec-...compute-1.amazonaws.com] extconf.rb:53:in `<main>': JAVA_HOME is not set. (RuntimeError)

【问题讨论】:

  • Set :default_environment 为我工作。谢谢!

标签: ruby-on-rails ubuntu environment-variables capistrano rjb


【解决方案1】:

Capistrano 不会从部署机器或部署目标加载环境变量;您必须在 deploy.rb 中指定它们:

set :default_environment, 'JAVA_HOME' => "/usr/lib/jvm/java-6-openjdk-amd64"

【讨论】:

  • 感谢 Stpn 回答他自己的问题 - 我只是把它放在答案部分。
  • 我一直在尝试将它与 capistrano 3 一起使用,但我一直收到同样的错误。你在 Capistrano 3 上试过吗?我已经通过他们指定的新方式设置了环境。 set :default_env, { 'JAVA_HOME' =&gt; "/usr/lib/jvm/java-7-openjdk-amd64" }我不确定我做错了什么。我可以在机器上手动安装 gem,它可以工作,但是在运行 cap deploy 时它不起作用
  • 请发布一个新问题,因为这个问题是针对 capistrano 2 的。
猜你喜欢
  • 2018-01-01
  • 2016-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多