32

電話がかかってしまい、他の誰かが同じ問題を抱えている可能性が高いため、この質問に質問/回答しています。

Windows Server 2008 x64 に RabbitMQ x64 v2.8.6 をインストールします。

C:\Program Files\erl5.9.2 へのデフォルトのインストール場所を使用して Erlang をインストールした後、rabbitmq-service.bat を実行してサーバーを起動しようとしています。失敗:

Please either set ERLANG_HOME to point to your Erlang installation 
or place the RabbitMQ server distribution in the Erlang lib folder.

問題は、.bat ファイルに正しいサブパスがないことです。erlang の 5.9.2 (R15B02) バージョンで。私の ERLANG_HOME ディレクトリは正しく設定されていますが、このバージョンの Erlang ではスクリプトが正しく使用していません。この Erlang 初心者には、問題を引き起こしている「erts-5.9.2」という新しいサブディレクトリがあるように見えます。これらのスクリプトに詳しい人なら、これから説明するハックの回避策を使わずに、このスクリプトを正しく機能させる方法を説明できるでしょうか?

4

15 に答える 15

21

Windows にはいくつかの RabbitMQ コントロール .bat ファイルがあります。使用するものはすべて、Erlang パスを正しく反映するように変更する必要があります。この例では、rabbitmq-server.bat を編集しています。なぜなら、それは簡単なものの 1 つだからです...実行したい .bat ファイルはどれも、rabbitmq_service.bat ファイルを使用して、それらを機能させるためにこのハックが必要になります。調整に最も関与しています。

この rabbitmq_server.bat ファイルを編集すると、48 行目あたりで確認できますが、erl.exe が見つかったかどうかを確認するためのチェックがありますが、パスが正しくありません。

if not exist "!ERLANG_HOME!\bin\erl.exe" (

そのパスは、5.9.2 バージョンの Erlang のファイル構造と一致しません。48 行目から 58 行目までのこのパス チェックを削除するだけでこれを修正しました。次に、.bat が実際に 129 行目で erl.exe を呼び出します。

"!ERLANG_HOME!\bin\erl.exe" 

erl.exe へのパスをハードコーディングしただけです。

"C:\Program Files\erl5.9.2\erts-5.9.2\bin\erl.exe" 

パスが正しいと、rabbitmq .bat ファイルが実行されます。

于 2012-09-07T18:39:34.370 に答える
19

1- 環境変数を設定します。

変数名:ERLANG_HOME
変数値:C:\Program Files (x86)\erl6.4

注:上記のステップにビンを含めないでください。

2-環境変数%ERLANG_HOME%\binに追加:PATH

変数名:PATH
変数値:%ERLANG_HOME%\bin

これはうまくいきます。

于 2016-09-20T06:48:42.007 に答える
9

同様の問題があり、.bat ファイルの ERLANG_HOME を変更しても機能しませんでした。次に、コマンドプロンプトでecho %ERLANG_HOME%を試しましたが、環境変数の値が出力されませんでした (ERLANG_HOME 環境変数が事前のシステム設定で作成されていることがわかりました)。これにより、64 ビット用にサーバーを再起動する必要があると思いました。アーランのインストール。サーバーを再起動した後、それは魅力のように機能しました。これが誰かに役立つことを願っています。

于 2016-07-07T15:41:37.660 に答える
5

2019年現在の最新の回答を共有するだけです。Windows Server 2019では、環境変数を設定した後、問題を解決するには再起動が必要です.

于 2019-05-29T10:06:41.913 に答える
3

私は同じ種類の問題に陥りました。以下のように3つの変更を行うことで解決しました。

  1. "ERLANG_HOME" : "C:\Program Files\erl8.0"環境変数のパス変数を更新します。
  2. 「パス」変数を​​更新"Path" : ";%ERLANG_HOME%\bin;"
  3. Cドライブでフルコントロール権限を自分に与えます。"Program Files"

このように私にとってはうまくいきました。

于 2016-12-08T14:10:49.807 に答える
1

これがあなたのために働いたことは興味深いです。Erl5.9.2 には、がインストール%ERLANG_HOME%\binされていない不完全なインストールを引き起こす 2 つのバグの記録があります。

* 32 ビット マシンに 64 ビット erlang をインストール * 「MSVCR100.dll がコンピューターにないため、プログラムを開始できません。」

https://groups.google.com/d/topic/erlang-programming/wGtFLzapiQ0/discussion

5.9.1 またはその他のバージョンを試してください。彼らはまた、失敗した場合にインストーラーの将来のバージョンで警告を発するようにすることについても言及しています。

于 2012-09-28T01:51:32.373 に答える
1

ここで述べたのと同じ問題がありました。Windows 7 マシンに otp_win64_R15B02 をインストールし、すべてが完全に機能しましたが、Windows 2008 サーバーで同じインストーラーを使用したため、bin ディレクトリが作成されませんでした。次に、otp_win64_R15B02 をアンインストールし、otp_win64_R15B02_with_MSVCR100_installer_fix をダウンロードすると、bin ディレクトリが作成されました。

Windows 7 システムで動作した理由は、Visual Studio がインストールされていて、必要なライブラリが既に利用可能で、otp_win64_R15B02 インストーラーが正しく動作していたためだと思われます。

ああ、Erlang をインストールして RabbitMQ を実行する場合、RabbitMQ のインストールは壊れたインストーラーで成功しますが、RabbitMQ の後に otp_win64_R15B02_with_MSVCR100_installer_fix をインストールすることはできません。これを解決するには、RabbitMQ をアンインストールして再インストールするだけです。

于 2012-10-03T12:28:00.343 に答える
0

パス変数に名前を付けずに、迅速かつ汚い方法で解決しました。batファイルを開いて、出現するすべてのものを置き換えました

!ERLANG_HOME!\bin\erl.exe

たとえば、ハードコードされたパスを使用すると、バージョンが異なるため、パスが異なる場合があります

C:\Program Files\erl10.3\erts-10.3\bin\erl.exe

そして交換

%RABBITMQ_HOME%\escript\rabbitmq-plugins

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\escript\rabbitmq-plugins
于 2019-05-11T15:48:22.603 に答える
0
  1. Erlang または OTP をダウンロード - OTPの 1 つのバージョンのみをインストールする必要があります

  2. RabbitMQ インストーラーのダウンロード

  3. 両方のexeファイルを管理者としてインストールします

  4. Erlang のクラスパスを設定します。(クラスパスの設定はちょっと面倒なので以下の手順で)

    1. ERLANG_HOME名前と値を使用して新しいパスを設定しますC:\Program Files\erl-23.1(ここに bin フォルダーをコピーしないでください) 。
    2. システム「パス」を編集して追加%ERLANG_HOME%\bin
  5. [スタート] に移動 - rabbitmq コマンド プロンプトを開いて実行します

    rabbitmq-plugins enable rabbitmq_management
    
  6. localhost:15672 に移動します

  7. ゲスト/ゲストを使用してログインする

于 2020-10-16T08:22:45.327 に答える
0

私でさえこの問題でした。問題は、存在しなかった環境変数 ERLANG_HOME=c:\Program Files\erl9.0 でした。

パスをクロスチェックしました。正しいパスは c:\Program Files\erl9.3 でした。

修正後、

ERLANG_HOME=c:\Program Files\erl9.3

問題は解決しました。したがって、間違いなくパスの問題です。

于 2019-05-27T09:54:05.393 に答える
0

これは Windows のエンコーディングの問題だと思います。正しい値が表示されますが、コンソールに echo %ERLANG_HOME% と書き、値に疑問符が付いています。これらの手順で修正されます。

1.go環境変数ウィンドウ

2.ERLANG_HOME項目の編集

3.値をコピーし、メモ帳を開いてそこに貼り付けます

4.メモ帳にコピーして編集ウィンドウに貼り付けます

5.適用してウィンドウを終了

6. コマンド ライン ツールを閉じて、再度開く

7.rabbitmq バット ファイルを実行します。

于 2017-03-26T15:34:22.197 に答える