# HTTP plugin is not installed

**URL:** <https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579>\
**Category:** ionic-v3\
**Created:** [June 16, 2017, 12:00am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579 "2017-06-16T00:00:56Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mcelogomes](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@Mcelogomes](https://forum.ionicframework.com/u/Mcelogomes)\
**Post date:** [June 16, 2017, 12:00am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/1 "2017-06-16T00:00:56Z")

</div>

# Error

I install native http using this tutorial.

> **[Ionic Framework](https://ionicframework.com/docs/native/http/)**
>
> Ionic is the app platform for web developers. Build amazing mobile, web, and desktop apps all with one shared code base and open web standards

  
$ ionic cordova plugin add cordova-plugin-http  
$ npm install --save @ionic-native/http

And I get this erro.

[20:49:03] console.warn: Native: tried calling HTTP.get, but the HTTP plugin is not installed.  
[20:49:03] console.warn: Install the HTTP plugin: ‘ionic plugin add cordova-plugin-http’

### My Ionic Info

global packages:

```
@ionic/cli-utils : 1.4.0
Cordova CLI : 7.0.1
Ionic CLI : 3.4.0

```

local packages:

```
@ionic/app-scripts : 1.3.7
@ionic/cli-plugin-cordova : 1.4.0
@ionic/cli-plugin-ionic-angular : 1.3.1
Cordova Platforms : ios 4.4.0
Ionic Framework : ionic-angular 3.4.0

```

System:

```
Node : v7.8.0
OS : macOS Sierra
Xcode : Xcode 8.3.3 Build version 8E3004b
ios-deploy : 1.7.0
ios-sim : 6.0.0
npm : 4.2.0
```

---

<div class="post-metadata">

**Author:** ![Sujan12](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/sujan12/32/108395_2.png) [@Sujan12](https://forum.ionicframework.com/u/Sujan12)\
**Post date:** [June 16, 2017, 8:50am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/2 "2017-06-16T08:50:55Z")

</div>

- How are you testing?
- What does `ionic cordova plugin list` return?
- Is there a good reason why you are using the HTTP native plugin and not Angular’s http?

---

<div class="post-metadata">

**Author:** ![Mcelogomes](https://avatars.discourse-cdn.com/v4/letter/m/90ced4/32.png) [@Mcelogomes](https://forum.ionicframework.com/u/Mcelogomes)\
**Post date:** [June 16, 2017, 5:39pm UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/3 "2017-06-16T17:39:03Z")

</div>

Im using ios emulator.

cordova-plugin-compat 1.1.0 "Compat"  
cordova-plugin-console 1.0.5 "Console"  
cordova-plugin-device 1.1.4 "Device"  
cordova-plugin-file 4.3.3 "File"  
cordova-plugin-http 1.2.0 "SSL Pinning"  
cordova-plugin-splashscreen 4.0.3 "Splashscreen"  
cordova-plugin-statusbar 2.2.2 "StatusBar"  
cordova-plugin-whitelist 1.3.1 "Whitelist"  
ionic-plugin-keyboard 2.2.1 “Keyboard”

HTTP is the first plugin a tried. There is a good reason to not using this plugin?

---

<div class="post-metadata">

**Author:** ![rapropos](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/rapropos/32/100227_2.png) [@rapropos](https://forum.ionicframework.com/u/rapropos)\
**Post date:** [June 16, 2017, 8:50pm UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/4 "2017-06-16T20:50:46Z")

</div>

> [@Mcelogomes](#):
>
> There is a good reason to not using this plugin?

Angular’s Http is more friendly.

---

<div class="post-metadata">

**Author:** ![Sujan12](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/sujan12/32/108395_2.png) [@Sujan12](https://forum.ionicframework.com/u/Sujan12)\
**Post date:** [June 16, 2017, 9:38pm UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/5 "2017-06-16T21:38:20Z")

</div>

Exactly, if there is no good reason, look into this: [https://angular.io/guide/http](https://angular.io/guide/http)

---

<div class="post-metadata">

**Author:** ![rogeliotrejo13](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/rogeliotrejo13/32/112900_2.png) [@rogeliotrejo13](https://forum.ionicframework.com/u/rogeliotrejo13)\
**Post date:** [September 6, 2017, 12:48am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/6 "2017-09-06T00:48:48Z")

</div>

I have the same issue, install and reinstall and only get this warn console.warn: Native: tried calling HTTP.get, but the HTTP plugin is not installed. 😡😡😡😡

---

<div class="post-metadata">

**Author:** ![SigmundFroyd](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/sigmundfroyd/32/111604_2.png) [@SigmundFroyd](https://forum.ionicframework.com/u/SigmundFroyd)\
**Post date:** [September 6, 2017, 1:17am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/7 "2017-09-06T01:17:30Z")

</div>

As has been stated before, do you have a particular reason to use the native HTTP plugin rather than the Angular one?

---

<div class="post-metadata">

**Author:** ![rogeliotrejo13](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/rogeliotrejo13/32/112900_2.png) [@rogeliotrejo13](https://forum.ionicframework.com/u/rogeliotrejo13)\
**Post date:** [September 6, 2017, 1:19am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/8 "2017-09-06T01:19:49Z")

</div>

Ionic native, Ionic 3

---

<div class="post-metadata">

**Author:** ![SigmundFroyd](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/sigmundfroyd/32/111604_2.png) [@SigmundFroyd](https://forum.ionicframework.com/u/SigmundFroyd)\
**Post date:** [September 6, 2017, 1:24am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/9 "2017-09-06T01:24:32Z")

</div>

What I mean is that Angular’s HTTP fulfills at least 95% of use cases, and is far easier to use. So do you specifically have a use case that is in the last 5%?

---

<div class="post-metadata">

**Author:** ![wedo](https://avatars.discourse-cdn.com/v4/letter/w/6a8cbe/32.png) [@wedo](https://forum.ionicframework.com/u/wedo)\
**Post date:** [September 11, 2017, 7:46pm UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/10 "2017-09-11T19:46:35Z")

</div>

If you have multiple simultaneous requests to the same server Chrome stalls the connections. Native HTTP calls can help there.

---

<div class="post-metadata">

**Author:** ![wedo](https://avatars.discourse-cdn.com/v4/letter/w/6a8cbe/32.png) [@wedo](https://forum.ionicframework.com/u/wedo)\
**Post date:** [September 11, 2017, 7:51pm UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/11 "2017-09-11T19:51:56Z")

</div>

Have the same issue ☹ . The question is not about using Angular’s http request or not.  
There is an Ionic Native Plugin and it’s not working.

**My Ionic info is:**

cli packages:

```
@ionic/cli-utils : 1.6.0 
ionic (Ionic CLI) : 3.6.0

```

global packages:

```
Cordova CLI : 7.0.1

```

local packages:

```
@ionic/app-scripts : 1.3.12
@ionic/cli-plugin-cordova : 1.4.0
@ionic/cli-plugin-ionic-angular : 1.3.1
Cordova Platforms : android 6.2.3 browser 4.1.0 ios 4.4.0
Ionic Framework : ionic-angular 3.5.0

```

System:

```
Android SDK Tools : 25.2.5
Node : v7.10.0
OS : OS X El Capitan
Xcode : Xcode 8.1 Build version 8B62
ios-deploy : 1.9.0
ios-sim : 5.0.13
npm : 4.2.0
```

---

<div class="post-metadata">

**Author:** ![wedo](https://avatars.discourse-cdn.com/v4/letter/w/6a8cbe/32.png) [@wedo](https://forum.ionicframework.com/u/wedo)\
**Post date:** [September 11, 2017, 9:27pm UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/12 "2017-09-11T21:27:55Z")

</div>

The Ionic Native HTTP changed the cordova plugin they are using since the old one hasn’t been updated for a while. During the change the reference to the plugin has’t been updated so it’s broken. (See: [plugin\_not\_installed error with ionic · Issue #8 · silkimen/cordova-plugin-advanced-http · GitHub](https://github.com/silkimen/cordova-plugin-advanced-http/issues/8))

You can fix it by changing the old referenced plugin to new one: (After the commit also updating the plugin will fix the issue)

in @ionic-native/plugins/http/index.ts:

change:

> pluginRef: ‘cordovaHTTP’,

to:

> pluginRef: ‘cordova.plugin.http’,

See commit: [Plugin ref fix · danielsogl/awesome-cordova-plugins@49ee0d8 · GitHub](https://github.com/ionic-team/ionic-native/commit/49ee0d85a304770a9a3bd3e04eb9609e6d565b67)

---

<div class="post-metadata">

**Author:** ![metalliza](https://avatars.discourse-cdn.com/v4/letter/m/2bfe46/32.png) [@metalliza](https://forum.ionicframework.com/u/metalliza)\
**Post date:** [September 26, 2017, 4:40am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/13 "2017-09-26T04:40:07Z")

</div>

Thank you. It worked.

I installed the plugin just yesterday, but it is still wrong.

---

<div class="post-metadata">

**Author:** ![mtsecurit](https://avatars.discourse-cdn.com/v4/letter/m/cab0a1/32.png) [@mtsecurit](https://forum.ionicframework.com/u/mtsecurit)\
**Post date:** [February 6, 2018, 1:23pm UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/14 "2018-02-06T13:23:22Z")

</div>

Can I make a request to a fixed url with angulars HTTP. So not relative but like this [https://anydomain.com/api/thing](https://anydomain.com/api/thing)

Will I not run into CORs issues with that? Or is there a way around it using angular HTTP?  
Keep in mind that I do not have control over the code or response from the URL.

---

<div class="post-metadata">

**Author:** ![maruti](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/maruti/32/103634_2.png) [@maruti](https://forum.ionicframework.com/u/maruti)\
**Post date:** [March 19, 2018, 5:58am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/15 "2018-03-19T05:58:53Z")

</div>

Is anyone still facing the issue? I am getting a same error now

```auto
Native: tried calling HTTP.setDataSerializer, but the HTTP plugin is not installed.
Install the HTTP plugin: 'ionic cordova plugin add cordova-plugin-advanced-http'

```

My ionic info

```auto

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 7.1.0 

local packages:

    @ionic/app-scripts : 3.1.8
    Cordova Platforms : android 6.3.0 ios 4.5.4
    Ionic Framework : ionic-angular 3.9.2

System:

    ios-deploy : 1.9.2 
    ios-sim : 6.1.2 
    Node : v9.3.0
    npm : 5.5.1 
    OS : macOS High Sierra
    Xcode : Xcode 9.2 Build version 9C40b 

```

and my plugin and node module version

```auto
cordova-plugin-advanced-http@1.11.0
@ionic-native/core@4.5.3
@ionic-native/http@4.5.3

```

Any help please?

---

<div class="post-metadata">

**Author:** ![tokuhara](https://avatars.discourse-cdn.com/v4/letter/t/c57346/32.png) [@tokuhara](https://forum.ionicframework.com/u/tokuhara)\
**Post date:** [April 6, 2018, 1:34am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/16 "2018-04-06T01:34:18Z")

</div>

@maruti  
I think the platform is not ready when you call it. Try wrap it inside a platform.ready().

---

<div class="post-metadata">

**Author:** ![vibinflogesoft](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/vibinflogesoft/32/117525_2.png) [@vibinflogesoft](https://forum.ionicframework.com/u/vibinflogesoft)\
**Post date:** [April 6, 2018, 6:10am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/17 "2018-04-06T06:10:34Z")

</div>

Hi@Mcelogomes  
My suggestion is to install like this and also import it to your root module  
like  
`import { HTTP } from '@ionic-native/http';`

```auto
   ionic cordova plugin add cordova-plugin-advanced-http
   npm install --save @ionic-native/http

```

---

<div class="post-metadata">

**Author:** ![daminivyas](https://avatars.discourse-cdn.com/v4/letter/d/bcef8e/32.png) [@daminivyas](https://forum.ionicframework.com/u/daminivyas)\
**Post date:** [April 9, 2020, 8:25am UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/18 "2020-04-09T08:25:01Z")

</div>

Thanks @tokuhara, your solution worked for me.

---

<div class="post-metadata">

**Author:** ![mhartington](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/mhartington/32/137757_2.png) [@mhartington](https://forum.ionicframework.com/u/mhartington)\
**Post date:** [July 19, 2021, 9:01pm UTC](https://forum.ionicframework.com/t/http-plugin-is-not-installed/94579/19 "2021-07-19T21:01:15Z")

</div>


