Lorsque je compile mon projet,
../../node_modules/@types/readable-stream/index.d.ts:138:18 - error TS2304: Cannot find name 'StringDecoder'.
138 decoder: StringDecoder | null;
~~~~~~~~~~~~~
Nœud : 10.16.0
Tapuscrit : 3.3.3333
fastidieux : 6.6.1
Cela fonctionne si je change la version fastidieuse en 6.5.0.
Je ne sais pas si cela est lié à https://github.com/tediousjs/tedious/issues/1007
Est-ce que quelqu'un conseillerait?
Salut @anthonylau , pouvez-vous fournir quelques détails sur la façon dont vous avez compilé votre projet ou peut-être fournir un script de reproduction ? J'ai mis en place le projet fastidieux avec les versions que vous fournissez, et le projet fastidieux se construit bien. Voulez-vous également essayer votre projet avec une version plus récente de Typescript depuis la sortie de la 3.3.3333 il y a environ 9 mois ?
Salut @MichaelSun90 , j'ai le même problème que @anthonylau avait. Je l'ai également corrigé en optant pour la v6.5.0 fastidieuse.
l'exécution de mon script de démarrage ( "start": "nodemon --exec ts-node -- ./src/index.ts"
) ne pose aucun problème, mais l'exécution d'un prod build ( "tsc -p tsconfig.json"
) a provoqué l'erreur suivante :
node_modules/@types/readable-stream/index.d.ts:138:18 - erreur TS2304 : Impossible de trouver le nom 'StringDecoder'.
138 décodeur : StringDecoder | nul;
~~~~~1 erreur trouvée.
npm ERR ! code ELIFECYCLE
npm ERR ! erreur no 2
npm ERR ! [email protected] build:prod :tsc -p tsconfig.json
npm ERR ! Statut de sortie 2
Je l'utilise en combinaison avec
séquelle 5.15.1
tapuscrit : 3.3.4000
Nœud : 10.15.3
De quelles informations supplémentaires avez-vous besoin ?
infos supplémentaires :
en entrant dans index.d.ts, le tapuscrit donne les informations suivantes sur le problème :
'StringDecoder' refers to a value, but is being used as a type here. (ts2749)
J'ai du mal à comprendre d'où vient ce problème - basé sur https://github.com/DefinitelyTyped/DefinitelyTyped/blob/6a3064cc7408b4e71d0d0feb6f92457d4c22e15c/types/readable-stream/index.d.ts#L132 , il n'y a aucune référence à StringDecoder
mais NodeStringDecoder
.
Pouvez-vous vérifier le contenu du fichier node_modules/@types/readable-stream/index.d.ts
sur votre système ?
Oui, j'ai vérifié, et l'interface ReadableState ressemble à ceci :
interface ReadableState {
objectMode: boolean;
highWaterMark: number;
buffer: BufferList<any>;
length: number;
pipes: any; // NodeJS.WritableStream | any[]; // TODO
pipesCount: number;
flowing: any;
ended: boolean;
endEmitted: boolean;
reading: boolean;
sync: boolean;
needReadable: boolean;
emittedReadable: boolean;
readableListening: boolean;
resumeScheduled: boolean;
destroyed: boolean;
awaitDrain: number;
defaultEncoding: string;
readingMore: boolean;
decoder: StringDecoder | null;
encoding: string | null;
// new (options: ReadableStateOptions, stream: _Readable): ReadableState;
}
Voici la dépendance fastidieuse qu'il a installée :
"readable-stream": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
"integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
Il semble donc que readable-stream v 2.3.6 ait été fusionné avec NodeStringDecoder
au lieu de StringDecoder
, cependant, il se peut qu'il n'ait pas encore été publié
Il s'agit probablement d'un problème DefinitelyTyped
Voici la dépendance fastidieuse qu'il a installée :
Je pense que vous regardez la mauvaise dépendance de flux lisible. Le problème réside dans @Types/readable-dependency, qui devrait avoir 2.3.5 installé
Un problème à ce sujet a déjà été soulevé https://github.com/DefinitelyTyped/DefinitelyTyped/pull/37869
Voici la solution : @anthonylau @obermobber . J'espère que cela résout également votre problème !
Ouais, j'allais juste écrire ça !
J'ai installé @types/node: 12.12.17 et la construction de prod fonctionne bien. Merci!!
Commentaire le plus utile
Un problème à ce sujet a déjà été soulevé https://github.com/DefinitelyTyped/DefinitelyTyped/pull/37869
Voici la solution : @anthonylau @obermobber . J'espère que cela résout également votre problème !