Milvus On Windows


Currently, I’m trying to port Milvus to windows, and now it seems to work well with standalone mode.

As merge back to upstream seems a very long story, so I put some notes on this page.

If you want to try some testing/developing work under windows with windows native Milvus, this could be a reference for quickstart.

Get Windows version of milvus2

You could get the code from matrixji/milvus at windows-dev and compile it by yourself.

Or you could download the build artifacts from Releases - matrixji/milvus.

Build from source

Install MSYS enviroument

Firstly, we using mingw64/MSYS compile Milvus under windows, and you could get it from MSYS2.

After MSYS2 is installed, you should start to do the below steps under the shell MSYS2 MinGW 64-bit

Do system update and install git for clone code.

$ pacman -Su
$ pacman -S git

Clone the code

$ git clone -b windows-dev

I using windows-dev branch to tracking all changes for support windows compile. This branch rebase from milvus-io/milvus weekly.

Compile and package

Install tools needed for compile:

$ cd milvus
$ scripts/

Important: Relaunch the MinGW shell after first install success.

Continue to compile and package Milvus:

$ make
$ sh scripts/

If everything is fine, you will finally get a zip file under the windows_package folder. This is the whole zip you need to startup Milvus under windows, including minio.exe and etcd.exe.


  • As some third-party resources are hosted on Github, a proper proxy setting may be needed.
  • Milvus 2 is written by golang, for download modules faster, goproxy is recommended, see:

Download artifacts directly

You could also find the prebuilt zip under Releases - matrixji/milvus if you don’t want to compile it from the source.

Please use the release with windows-test- prefix, like windows-test-v8.

Start Milvus

After you unzip the zip file, you will see several bat files under milvus folder.


  • run_minio.bat will run a MinIO server locally, and it will store data under the subfolder s3data.
  • run_etcd.bat will run an etcd server locally with default configurations.
  • And now you could run run_milvus.bat for starting the standalone milvus server.

Testing with

After milvus started, you could try following the official guide to using for testing it.

The official guide:

The pymilvus is a pure python library, so it is already available under windows.