title: Observable .catch is not a function
body: <p>I get this very annoying error when running my code from a unix environment. This works fine when I run the code locally through <code>ng serve</code>, But when I deploy the code to my server, this error halts all program execution:</p>
  
  <blockquote>
    <p><code>ERROR TypeError: this.http.get(...).catch is not a function</code></p>
  </blockquote>
  
  <p>Google results state that I should import rxjs namespaces straight from their location, and not through the rxjs/Rx bundle, but I get this error regardless. Other results point out that I may have missed importing rxjs operators, but they are definitely included in my case. </p>
  
  <p>I've even checked the included sourcemaps using DevTools, and the operators are included out to the browser.</p>
  
  <p>Can anybody tell me why I'm getting this error? I'm using rxjs: ^5.5.2</p>
  
  <p><strong>This is my code.</strong></p>
  
  <pre><code>import { Injectable } from '@angular/core';
  import { HttpClient } from '@angular/common/http';
  import { Observable } from 'rxjs/Observable';
  import 'rxjs/add/operator/catch';
  import 'rxjs/add/observable/throw';
  
  @Injectable()
  export class MyService {
    constructor(private http: HttpClient) {}
  
    all(): Observable&lt;any&gt; {
      return this.http.get&lt;any&gt;('url')
        .catch(err =&gt; this.handleError(err));
    }
    handleError(error) {
      return Observable.throw(error);
    }
  }
  </code></pre>
  
  <p><strong>EDIT</strong>
  Based on @Jota.Toledo's comment below, I will provide the code using this method:</p>
  
  <pre><code>this.myService.all().subscribe(
    result =&gt; {
      this.isLoading = false;
      if (result) {
        this.clients = result;
      }
    },
    error =&gt; this.isLoading = false
  );
  </code></pre>
  
  <p>Is giving two callback functions in subscribe like this, the same as "using the catch method somewhere before the operator is added"?</p>