Windows x64 RabbitMQ安装错误,Erlang环境变量为(Erlang_HOME)

Windows x64 RabbitMQ安装错误,Erlang环境变量为(Erlang_HOME),erlang,rabbitmq,config,Erlang,Rabbitmq,Config,我之所以问/回答这个问题,是因为它把我挂断了&很可能其他人也会有同样的问题 在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

我之所以问/回答这个问题,是因为它把我挂断了&很可能其他人也会有同样的问题

在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文件没有正确的子路径。使用5.9.2(R15B02)版本的erlang。我的ERLANG_主目录设置正确,但是脚本没有正确地将其用于此版本的ERLANG,在这个ERLANG noob看来,它有一个名为“erts-5.9.2”的新子目录,这导致了问题。也许熟悉这些脚本的人可以描述如何在没有我将要描述的黑客解决方法的情况下正确地工作?

windows上有几个RabbitMQ control.bat文件。您使用的每一个都需要更改以正确反映Erlang路径。在本例中,我正在编辑rabbitmq-server.bat,因为它是比较简单的一个。。。您想要运行的任何.bat文件都需要这种技巧才能使其正常工作,其中rabbitmq_service.bat文件是最需要调整的文件

编辑rabbitmq_server.bat文件时,您可以在第48行左右看到一个检查,以查看是否找到erl.exe,但路径不正确:

if not exist "!ERLANG_HOME!\bin\erl.exe" (
该路径与Erlang 5.9.2版本的文件结构不匹配。我通过简单地从第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文件将运行。

有趣的是,这对您有效。Erl5.9.2中记录了两个导致未安装
%ERLANG\u HOME%\bin
的不完整安装的错误

两个 *在32位计算机上安装64位erlang *“由于您的计算机中缺少MSVCR100.dll,程序无法启动。”


请尝试5.9.1或任何其他版本。他们还提到,如果安装程序出现故障,会让未来版本的安装程序提醒您。

我刚才也提到了同样的问题。我在Windows7机器上安装了otp_win64_R15B02,一切正常,但我在Windows2008服务器上使用了相同的安装程序,并且没有创建bin目录。然后我卸载了otp_win64_R15B02并下载了otp_win64_R15B02_和_MSVCR100_安装程序_修复程序,并创建了bin目录

我怀疑它在我的Windows 7系统上工作的原因是我已经安装了Visual Studio,并且所需的库已经可用,这使otp_win64_R15B02安装程序能够正常工作


哦,如果您要安装Erlang来运行RabbitMQ,RabbitMQ安装将成功,安装程序已损坏,但在RabbitMQ之后安装otp_win64_R15B02_和_MSVCR100_installer_fix将不起作用,只需取消安装并重新安装RabbitMQ即可解决此问题。

我遇到了类似的问题,在.bat文件中修改Erlang_HOME也不起作用。然后我在命令提示符下尝试了echo%ERLANG\u HOME%,但没有打印环境变量值(我可以看到ERLANG\u HOME环境变量是在advance system settings下创建的),这让我相信需要重新启动服务器以进行64位的ERLANG安装。重新启动服务器后,它像一个符咒一样工作。我希望这对某人有所帮助。

1-设置环境变量:

变量名:
ERLANG\u HOME

变量值:
C:\ProgramFiles(x86)\erl6.4

注意:上述步骤中不包括垃圾箱

2-将
%ERLANG\u HOME%\bin
添加到
路径
环境变量:

变量名:
路径

变量值:
%ERLANG\u HOME%\bin


这很有效。

我也遇到了同样的问题。 我通过做下面给出的三个更改解决了这个问题

  • 更新环境变量中的路径变量“ERLANG\u HOME”:“C:\Program Files\erl8.0”
  • Upadte“Path”变量
    “Path”:“;%ERLANG\u HOME%\bin;”
  • 在C驱动器中为自己授予对
    “程序文件”
    的完全控制权限

  • 它以这种方式为我工作。

    我认为这是windows上的编码问题。我看到了正确的值,但我在控制台上写入了echo%ERLANG\u HOME%,该值带有问号。这些步骤可以解决这个问题

    1.go环境变量窗口

    2.编辑ERLANG_主页项

    3.复制值,打开记事本并粘贴到那里

    4.在记事本上再次复制并粘贴到编辑窗口

    5.应用和退出窗口

    6.关闭命令行工具并重新打开


    7.运行rabbitmq bat文件。

    在Windows上的Erlang 18.3(erl7.3)和rabbitmq 3.6.9中,当从任何旧版本的rabbitmq升级到3.6.9版时,仍然会出现此问题。这里已经说明的解决方案是,在启动服务之前,手动将ERLANG_HOME设置为“setx-m ERLANG_HOME”C:\Program Files\erl7.3

    发生的情况是,RabbitMQ 3.6.9安装程序从系统中删除环境变量ERLANG_HOME,同时删除旧版本的RabbitMQ。然后,当它进入安装步骤时,它不会放回ERLANG_HOME变量。然后,启动RabbitMQ的批处理文件找不到Erlang。他们尝试使用“where.exe”查找Erlang的主目录,但升级后总是失败

    RabbitMQ的安装程序也没有杀死所有的Erlang后台进程,这导致它的许多文件由于Windows“使用中的文件”问题而无法删除。这将在%APPDATA%\RabbitMQ和“C:\Program files\RabbitMQ”中留下“正在使用的文件”。这些进程是“erl.exe”、“erlsrv.exe”和“epmd.exe”。RabbitMQ安装程序应在关闭Rab后杀死这些进程
    !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
    
    rabbitmq-plugins enable rabbitmq_management