title: Installing Helm 2.9 on mac osx and Tiller
body: <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>