Ionic2 Error: "No provider for Storage"

In my case, I forgot to add the following in app.module.ts

import { IonicStorageModule } from '@ionic/storage';

@NgModul({ 
  ..., 
  Imports: [
  ...
    IonicStorageModule.forRoot()
],

first do this npm install --save @ionic/storage

I managed to get this working using this ..

Inside app.module.ts

import { Storage } from '@ionic/storage';

And then ...

providers: [{provide: ErrorHandler, useClass: IonicErrorHandler}, Storage]

And then in my page.ts

import { Storage } from '@ionic/storage';

In the constructor ...

public storage: Storage

And then within the guts of my code ..

this.storage.get('date').then((value) => {
  // blah
});

EDIT

This answer used to get a lot of upvotes, and that stopped.

I can only assume this is due to version updates/bug fixes.

I suggest you update your angular before going forward with this solution.


Firstly you need to install: npm install --save @ionic/storage

The problem was in app.ts:

import {IonicStorageModule} from '@ionic/Storage';

Capital 'S' instead of non capital 's':

from '@ionic/Storage'

instead of:

from '@ionic/storage'

No idea why the compiler wouldn't catch that if it's a problem, but it didn't.

Thanks to @chairmanmow


I had the same issue. I added this to app.module.ts:

import { IonicStorageModule } from '@ionic/storage';

And, this to imports parts of the app.module.ts:

IonicStorageModule.forRoot(),