node.js - eroare TS2307: Nu se poate găsi modulul 'bluebird'
În prezent încerc să dezvolt o aplicație folosind Ionic 2 și Angular 2 cu versiunea Typescript. Am decis să folosesc biblioteca amqp-ts pentru a include mesagerie în aplicația mea. Am instalat biblioteca prin npm astfel:
npm install amqp-ts
Totul a decurs bine și acum am ceva de genul acesta:
/ app root directory
+ node_modules
- amqp-ts
- lib
- amqp-ts.d.ts
- node_modules
- amqplib
- bluebird
- winston
Problemele încep acum: import biblioteca în componenta mea așa cum se face în exemplul din documentație...
import * as Amqp from "amqp-ts";
... și atunci când încerc să lansez aplicația primesc următoarele mesaje de eroare:
TypeScript error: C:/APPs/Test/Ionic2Angular2App/node_modules/amqp-ts/lib/amqp-ts.d.ts(2,26): Error TS2307: Cannot find module 'bluebird'.
TypeScript error: C:/APPs/Test/Ionic2Angular2App/node_modules/amqp-ts/lib/amqp-ts.d.ts(50,12): Error TS2304: Cannot find name 'Buffer'.
1. Linia legată de primul mesaj de eroare
// exported Typescript type definition for AmqpSimple
import * as Promise from "bluebird";
[...]
2. Linia legată de al doilea mesaj de eroare (același fișier: amqp-ts.d.ts)
export class Message {
content: Buffer;
[...]
}
Sper că mă poți ajuta, te rog.
Răspuns #1
Pe lângă instalarea pachetelor obișnuite, trebuie să instalați tipurile TypeScript. Tipurile sunt ca fișierele header, ele conțin toate definițiile de metode/clase/interfețe.
Pentru a instala tipările, ai nevoie de un instrument de tipări. Cea mai bună metodă este să-l instalezi global, astfel încât să îl poți folosi în fiecare proiect
npm install typings --global
Atunci, instalarea noilor tipuri în cadrul proiectului tău este destul de simplă, mai întâi caută biblioteca:
typings search bluebird
Instalează-l :
typings install --save bluebird
Mai multe informații: https://github.com/typings/typings
Răspunsul #2
Și eu m-am confruntat cu aceeași problemă, dar pentru mine răspunsul de mai sus nu funcționează. În timp ce rulez pur și simplu:
npm i bluebird
rezolvarea problemei
