<p>I ran <code>minikube start --vm=true</code> which output:</p>
<pre><code>😄  minikube v1.12.2 on Darwin 10.15.5
✨  Using the docker driver based on existing profile
❗  Your system has 16384MB memory but Docker has only 1991MB. For a better performance increase to at least 3GB.

    Docker for Desktop  &gt; Settings &gt; Resources &gt; Memory


👍  Starting control plane node minikube in cluster minikube
🔄  Restarting existing docker container for &quot;minikube&quot; ...
🐳  Preparing Kubernetes v1.18.3 on Docker 19.03.8 ...
🔎  Verifying Kubernetes components...
🌟  Enabled addons: dashboard, default-storageclass, storage-provisioner
🏄  Done! kubectl is now configured to use &quot;minikube&quot;
</code></pre>
<p>And then this <code>minikube addons enable ingress</code> which got me this error:</p>
<pre><code>💡  Due to docker networking limitations on darwin, ingress addon is not supported for this driver.
Alternatively to use this addon you can use a vm-based driver:

    'minikube start --vm=true'

To track the update on this work in progress feature please check:
https://github.com/kubernetes/minikube/issues/7332

</code></pre>
<p>But I ran minikube with that specific flag - any suggestions?</p>

Sticky
<p>It looks like your <strong>Minikube</strong> is not running as a VM. Actually it still uses <strong>Docker</strong> driver. Just take a closer look at the output, where <code>Docker</code> is mentioned a few times:</p>
<pre><code>✨  Using the docker driver based on existing profile
❗  Your system has 16384MB memory but Docker has only 1991MB. For a better performance increase to at least 3GB.

    Docker for Desktop  &gt; Settings &gt; Resources &gt; Memory
</code></pre>
<p>Where the key point is <em>&quot;based on existing profile&quot;</em></p>
<p>and here:</p>
<pre><code>🔄  Restarting existing docker container for &quot;minikube&quot; ...
🐳  Preparing Kubernetes v1.18.3 on Docker 19.03.8 ...
</code></pre>
<p>Although you're trying to start your <strong>Minikube</strong> with <code>--vm=true</code> option, it's apparently ignored and your default settings are used.</p>
<p>Most probably it happens because first time you ran it with <code>--driver=docker</code> option (either explicitly or implicitly) and it has been saved in your <strong>Minikube</strong> profile. To fix this you will probably need to remove your <strong>Minikube</strong> instance and then start it again with <code>--vm=true</code> option. You can be even more scecific and choose the exact hypervisor by providing <code>--driver=hyperkit</code> option.</p>
<p>So, simply try to start your <strong>Minikube</strong> this way:</p>
<pre><code>minikube start --vm=true --driver=hyperkit
</code></pre>
<p>If this doesn't help and you'll see again the same output, mentioning that it is using <code>docker</code> driver all the time, run:</p>
<pre><code>minikube stop &amp;&amp; minikube delete &amp;&amp; minikube start --vm=true --driver=hyperkit
</code></pre>
<p>This should resolve your issue. Once it starts using <strong>HyperKit</strong> hypervisor, you should be able to run <code>minikube addons enable ingress</code> without any errors.</p>
