We aim to make RabbitMQ a first-class citizen on Windows. However, sometimes there are circumstances beyond our control that can introduce quirky behaviour. This page documents them.
RabbitMQ will fail to start with the error that reads
RabbitMQ: Erlang machine stopped instantly (distribution name conflict?)
when installed to a path with non-ASCII characters in it. This is because we need to pass the location of the compiled Erlang files to the Erlang VM. It expects input in UTF-8, but the console will typically use some other encoding.
Similarly, RabbitMQ CLI tools will expect command line parameters to be encoded in UTF-8, and display strings as UTF-8. The console will instead provide and expect some country-specific encoding.
in the wrong place
This makes it impossible to use CLI tools and cluster nodes.
Older versions of RabbitMQ calculated the node name using the COMPUTERNAME environment variable, which is always upper-case. Later versions of RabbitMQ use HOSTNAME which may be lowercase. If you are upgrading from an old (pre-3.6.0) version of RabbitMQ to a current one and see the issue described here, you should set a system-wide environment variable named RABBITMO_NODENAME with the following value:
rabbit@ALL_CAPS_HOSTNAME
Then, RabbitMQ will continue to use the all-caps hostname and your upgrade will succeed.
If you have questions about the contents of this guide or any other topic related to RabbitMQ, don't hesitate to ask them on the RabbitMQ mailing list.
If you'd like to contribute an improvement to the site, its source is available on GitHub. Simply fork the repository and submit a pull request. Thank you!