首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用RJB gem部署到Heroku应用程序

无法使用RJB gem部署到Heroku应用程序
EN

Stack Overflow用户
提问于 2012-03-22 21:42:12
回答 6查看 2K关注 0票数 5

我已经设置了JAVA_HOME变量

代码语言:javascript
复制
heroku config:add JAVA_HOME=/usr/lib/jvm/java-6-openjdk

已检查heroku config是否显示此变量的值,然后推送:

代码语言:javascript
复制
git push heroku master

仍然会得到

代码语言:javascript
复制
JAVA_HOME is not set

bundler安装RJB gem时出错。

我可以成功地将相同的源代码部署到另一个Heroku应用程序,并且所有环境变量都是相同的。

怎么啦?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-03-27 22:04:31

我也有同样的问题,如果其他人想知道,这是Heroku告诉我的:

默认情况下,配置变量在编译应用程序时不可用-仅在运行时可用。

您可以通过确保安装了最新的heroku gem来更改此设置,然后启用user_env_compile实验室标志

$ heroku labs:启用user-env-compile

这将使JAVA_HOME在gem安装时可用,希望能帮助您解决此问题。

票数 8
EN

Stack Overflow用户

发布于 2014-06-30 17:47:25

首先通过使用查找JAVA_HOME路径,

代码语言:javascript
复制
heroku run 'which java |xargs  readlink -f  | sed "s:bin/java::"'

它会把你送回来,

代码语言:javascript
复制
usr/lib/jvm/java-6-openjdk/jre

现在你已经了解了heroku上的JAVA_HOME path。现在在heroku和Gemfile中设置JAVA_HOME路径

在heroku cli上:

代码语言:javascript
复制
heroku config:add JAVA_HOME=/usr/lib/jvm/java-6-openjdk

在顶部的Gemfile中:

代码语言:javascript
复制
java_home = '/usr/lib/jvm/java-6-openjdk'
ENV['JAVA_HOME'] = java_home if Dir.exist?(java_home)
票数 5
EN

Stack Overflow用户

发布于 2013-02-19 07:52:44

通过将以下内容添加到我的Gemfile中,让Heroku安装依赖于$JAVA_HOME的gem:

代码语言:javascript
复制
# set JAVA_HOME so Heroku will install gems that need it
heroku_java_home = '/usr/lib/jvm/java-6-openjdk'
ENV['JAVA_HOME'] = heroku_java_home if Dir.exist?(heroku_java_home)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9823487

复制
相关文章

相似问题

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