<p>I'm trying to install older version of helm and tiller on minikube locally and keep on getting the <code>Error: error installing: the server could not find the requested resource</code> erorr message - no clue on how else to approach the problem;</p>

<p>Steps I did:</p>

<ul>
<li>Accoording to this site: <a href="https://medium.com/@nehaguptag/installing-older-version-of-helm-downgrading-helm-8f3240592202" rel="nofollow noreferrer">https://medium.com/@nehaguptag/installing-older-version-of-helm-downgrading-helm-8f3240592202</a></li>
</ul>

<pre><code>$ brew unlink kubernetes-helm
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/78d64252f30a12b6f4b3ce29686ab5e262eea812/Formula/kubernetes-helm.rb
$ brew switch kubernetes-helm 2.9.1
</code></pre>

<ul>
<li>Other than that just: <code>minikube start</code></li>
<li>Set kubectl to use minikube: <code>kubectl config set-context minikube</code></li>
<li>Change docker to run/download images on minikube: <code>eval $(minikube docker-env)</code></li>
</ul>

<p>The error message i get is:</p>

<pre><code>MacBook-Pro% helm init
Creating /Users/rwalas/.helm
Creating /Users/rwalas/.helm/repository
Creating /Users/rwalas/.helm/repository/cache
Creating /Users/rwalas/.helm/repository/local
Creating /Users/rwalas/.helm/plugins
Creating /Users/rwalas/.helm/starters
Creating /Users/rwalas/.helm/cache/archive
Creating /Users/rwalas/.helm/repository/repositories.yaml
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com
Adding local repo with URL: http://127.0.0.1:8879/charts
$HELM_HOME has been configured at /Users/rwalas/.helm.
Error: error installing: the server could not find the requested resource
</code></pre>

<p>** Update</p>

<p>This bug report helps a little but issues still exists: <a href="https://github.com/helm/helm/issues/6374" rel="nofollow noreferrer">https://github.com/helm/helm/issues/6374</a></p>

<p>current workaround seems to be something like this:</p>

<p><code>helm init --output yaml &gt; tiller.yaml</code>
and update the tiller.yaml:</p>

<p>change to apps/v1
add the selector field</p>

<pre><code>---
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
  replicas: 1
  strategy: {}
  selector:
    matchLabels:
      app: helm
      name: tiller
</code></pre>

<p>and: </p>

<ul>
<li><code>kubectl apply -f tiller.yaml</code></li>
<li><code>helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | kubectl apply -f -</code></li>
</ul>

<hr>

<h3>Resolved:</h3>

<p>And these steps helped me in the end, which I suggest to everyone who want to use older versions of helm</p>

<pre><code># 1. Check which binary you would like: https://github.com/helm/helm/releases and copy address
wget -c https://get.helm.sh/helm-v3.0.2-darwin-amd64.tar.gz
tar -zxvf helm-v3.0.2-darwin-amd64.tar.gz
rm -rf ~/.helm
mv &lt;directory_of_download&gt;/Darwin-AMD64&lt;or whatever other name it was named&gt;/helm /usr/local/bin/helm
</code></pre>

<p>There are two things to consider:</p>

<ol>
<li><p>Check which binary you would like: <a href="https://github.com/helm/helm/releases" rel="nofollow noreferrer">https://github.com/helm/helm/releases</a> and copy address
<code>wget -c https://get.helm.sh/helm-v3.0.2-darwin-amd64.tar.gz
tar -zxvf helm-v3.0.2-darwin-amd64.tar.gz
rm -rf ~/.helm
mv &lt;directory_of_download&gt;/Darwin-AMD64&lt;or whatever other name it was named&gt;/helm /usr/local/bin/helm</code></p></li>
<li><p>The newest versions of K8s got some problems with installing Helm. Try to use the 1.15.4 version of K8s when starting your minikube as it was an approved workaround. <code>minikube delete</code> and than <code>minikube start --kubernetes-version=1.15.4</code>. After that helm init. </p></li>
</ol>
