Wenn ich mein Projekt kompiliere,
../../node_modules/@types/readable-stream/index.d.ts:138:18 - error TS2304: Cannot find name 'StringDecoder'.
138 decoder: StringDecoder | null;
~~~~~~~~~~~~~
Knoten: 10.16.0
Typoskript: 3.3.3333
langweilig: 6.6.1
Es funktioniert, wenn ich mühsam die Version auf 6.5.0 ändere.
Nicht sicher, ob dies mit https://github.com/tediousjs/tedious/issues/1007 zusammenhängt
Würde jemand raten?
Hallo @anthonylau , kannst du ein paar Details dazu geben, wie du dein Projekt kompiliert hast, oder vielleicht ein Reproduktionsskript bereitstellen? Ich habe das langwierige Projekt mit den von Ihnen bereitgestellten Versionen eingerichtet, und das langwierige Projekt lässt sich gut erstellen. Möchten Sie Ihr Projekt auch mit einer neueren Version von Typescript ausprobieren, da 3.3.3333 vor etwa 9 Monaten veröffentlicht wurde?
Hey @MichaelSun90 , ich habe das gleiche Problem wie @anthonylau . Ich habe es auch behoben, indem ich mich für mühsame v6.5.0 entschieden habe.
Das Ausführen meines Startskripts ( "start": "nodemon --exec ts-node -- ./src/index.ts"
) verursacht keine Probleme, aber das Ausführen eines Prod-Builds ( "tsc -p tsconfig.json"
) verursachte den folgenden Fehler:
node_modules/@types/readable-stream/index.d.ts:138:18 – Fehler TS2304: Kann den Namen „StringDecoder“ nicht finden.
138-Decoder: StringDecoder | Null;
~~~~~1 Fehler gefunden.
npm ERR! Code ELIFECYCLE
npm ERR! fehler 2
npm ERR! [email protected] build:prod :tsc -p tsconfig.json
npm ERR! Ausgangszustand 2
Ich benutze es in Kombination mit
Fortsetzung 5.15.1
Typoskript: 3.3.4000
Knoten: 10.15.3
Welche zusätzlichen Informationen benötigen Sie?
Zusatzinfo:
Beim Aufrufen der index.d.ts gibt Typoskript die folgenden Probleminformationen aus:
'StringDecoder' refers to a value, but is being used as a type here. (ts2749)
Ich habe Probleme zu verstehen, woher dieses Problem kommt - basierend auf https://github.com/DefinitelyTyped/DefinitelyTyped/blob/6a3064cc7408b4e71d0d0feb6f92457d4c22e15c/types/readable-stream/index.d.ts#L132 gibt es keinen Hinweis darauf StringDecoder
aber NodeStringDecoder
.
Können Sie den Inhalt der Datei node_modules/@types/readable-stream/index.d.ts
auf Ihrem System überprüfen?
Ja, ich habe es überprüft, und die ReadableState-Schnittstelle sieht wie folgt aus:
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;
}
Dies ist die mühsame Abhängigkeit, die es installiert hat:
"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"
}
Es sieht also so aus, als ob readable-stream v 2.3.6 mit NodeStringDecoder
statt mit StringDecoder
zusammengeführt wurde, es könnte jedoch sein, dass es noch nicht veröffentlicht wurde
Dies ist wahrscheinlich ein DefinitelyTyped-Problem
Dies ist die mühsame Abhängigkeit, die es installiert hat:
Ich denke, Sie betrachten die falsche Readable-Stream-Abhängigkeit. Das Problem liegt in @Types/readable-dependency, wo 2.3.5 installiert sein sollte
Ein diesbezügliches Problem wurde bereits angesprochen https://github.com/DefinitelyTyped/DefinitelyTyped/pull/37869
Hier ist die Lösung: @anthonylau @obermobber . Hoffentlich behebt dies auch Ihr Problem!
Ja, das wollte ich gerade schreiben!
Ich habe @types/node: 12.12.17 installiert und der Prod-Build funktioniert einwandfrei. Danke!!
Hilfreichster Kommentar
Ein diesbezügliches Problem wurde bereits angesprochen https://github.com/DefinitelyTyped/DefinitelyTyped/pull/37869
Hier ist die Lösung: @anthonylau @obermobber . Hoffentlich behebt dies auch Ihr Problem!