5

JAVA_HOME変数を設定しました

heroku config:add JAVA_HOME=/usr/lib/jvm/java-6-openjdk

heroku configがこの変数を値とともに表示することを確認し、プッシュしました。

git push heroku master

まだ取得します

JAVA_HOME is not set

bundlerがRJBgemをインストールしているときにエラーが発生しました。

同じソースを別のHerokuアプリケーションに正常にデプロイでき、すべての環境変数は同じです。

なにが問題ですか?

4

6 に答える 6

8

私も同じ質問をしました。他の誰かが知りたがっている場合に備えて、これはHerokuが私に言ったことです。

デフォルトでは、構成変数は、アプリケーションのコンパイル時に使用可能にならず、実行時にのみ使用可能になります。

これを変更するには、最新のheroku gemがインストールされていることを確認してから、user_env_compileラボフラグを有効にします。

$ heroku labs:enableuser-env-compile

これにより、gemのインストール時にJAVA_HOMEが使用可能になり、この問題を回避できるようになります。

于 2012-03-27T14:04:30.550 に答える
5

まず、を使用してJAVA_HOMEPATHを見つけます。

heroku run 'which java |xargs  readlink -f  | sed "s:bin/java::"'

それはあなたを返します、

usr/lib/jvm/java-6-openjdk/jre

これを使用して、herokuのJAVA_HOMEパスについて知ることができました。次に、herokuとGemfileでJAVA_HOMEパスを設定します

heroku cliで:

heroku config:add JAVA_HOME=/usr/lib/jvm/java-6-openjdk

上のGemfile:

java_home = '/usr/lib/jvm/java-6-openjdk'
ENV['JAVA_HOME'] = java_home if Dir.exist?(java_home)
于 2014-06-30T09:47:24.910 に答える
2

以下をGemfileに追加して、Herokuに$JAVA_HOMEに依存するgemをインストールしてもらいました。

# 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)
于 2013-02-18T23:52:44.470 に答える
1

アプリを別のスタックにデプロイしてみましたか?

少し調べてみましたが、これはあなたの説明に合っているようです。 https://github.com/carlhuda/bundler/issues/1742

おそらくあなたの報告ですね。

Herokuに連絡して、調査するように依頼することをお勧めします。

現在のスタックでは利用できない可能性のある依存関係が欠落しているようです。

于 2012-03-22T14:00:15.210 に答える
0

herokucedar-14からheroku-16またはheroku-18への移行用

$ heroku config:unset JAVA_HOME #remove JAVA_HOME env if exists
$ heroku stack:set heroku-18
$ heroku buildpacks:add --index 1 heroku/jvm
$ git push heroku master
于 2019-07-03T14:45:29.340 に答える
0

スタックにデプロイするにはheroku-20、次のビルドパックをこの順序で追加してください。

heroku buildpacks:add heroku/jvm
heroku buildpacks:add heroku/ruby

JAVA_HOMEで手動で設定する必要はありませんheroku-20。また、Herokuがそれを設定することもありません。変数はrjb、インストール時にすでに内部で使用可能です。

最終結果は次のようになります。

ここに画像の説明を入力してください

于 2021-11-16T21:39:29.833 に答える