プロジェクトをコンパイルすると、
../../node_modules/@types/readable-stream/index.d.ts:138:18 - error TS2304: Cannot find name 'StringDecoder'.
138 decoder: StringDecoder | null;
~~~~~~~~~~~~~
ノード:10.16.0
タイプスクリプト:3.3.3333
退屈:6.6.1
面倒なバージョンを6.5.0に変更すると機能します。
これがhttps://github.com/tediousjs/tedious/issues/1007に関連しているかどうかわからない
誰かアドバイスしますか?
こんにちは@anthonylau 、プロジェクトをどのようにコンパイルしたか、または再現スクリプトを提供したかについて、詳細を教えてください。 私はあなたが提供するバージョンで退屈なプロジェクトをセットアップしました、そして退屈なプロジェクトはうまく構築されます。 また、3.3.3333が約9か月前にリリースされたので、新しいバージョンのTypescriptでプロジェクトを試してみませんか?
ねえ@MichaelSun90、@anthonylauが抱えていたのと同じ問題があります。 また、面倒なv6.5.0に移行して修正しました。
スタートスクリプト( "start": "nodemon --exec ts-node -- ./src/index.ts"
)を実行しても問題は発生しませんが、prodビルド( "tsc -p tsconfig.json"
)を実行すると次のエラーが発生しました。
node_modules / @ types / reading-stream / index.d.ts:138:18-エラーTS2304:名前「StringDecoder」が見つかりません。
138デコーダー:StringDecoder | ヌル;
〜〜~~~1つのエラーが見つかりました。
npm ERR! コードELIFECYCLE
npm ERR! errno 2
npm ERR! [email protected] build:prod :tsc -p tsconfig.json
npm ERR! 終了ステータス2
と組み合わせて使用します
5.15.1を続編する
タイプスクリプト:3.3.4000
ノード:10.15.3
どのような追加情報が必要ですか?
追加情報:
index.d.tsに入ると、typescriptは次の問題情報を提供しています。
'StringDecoder' refers to a value, but is being used as a type here. (ts2749)
この問題がどこから来ているのか理解できません-https://github.com/DefinitelyTyped/DefinitelyTyped/blob/6a3064cc7408b4e71d0d0feb6f92457d4c22e15c/types/readable-stream/index.d.ts#L132に基づいて、への参照はありませんStringDecoder
ですが、 NodeStringDecoder
です。
システム上のnode_modules/@types/readable-stream/index.d.ts
ファイルの内容を確認できますか?
はい、確認しました。ReadableStateインターフェイスは次のようになります。
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;
}
これは、インストールした面倒な依存関係です。
"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"
}
したがって、読み取り可能ストリームv 2.3.6はStringDecoder
#$ではなくNodeStringDecoder
とマージされているように見えますが、まだ公開されていない可能性があります
これはおそらくDefinitelyTypedの問題です
これは、インストールした面倒な依存関係です。
間違った読み取り可能ストリームの依存関係を見ていると思います。 問題は@Types/ readable-dependencyにあり、2.3.5がインストールされている必要があります
これに関する問題はすでに提起されていますhttps://github.com/DefinitelyTyped/DefinitelyTyped/pull/37869
修正は次のとおりです: @anthonylau@ obermobber 。 うまくいけば、これもあなたの問題を解決します!
ええ、それを書くつもりでした!
@ types / node:12.12.17をインストールしましたが、prodビルドは正常に機能します。 ありがとう!!
最も参考になるコメント
これに関する問題はすでに提起されていますhttps://github.com/DefinitelyTyped/DefinitelyTyped/pull/37869
修正は次のとおりです: @anthonylau@ obermobber 。 うまくいけば、これもあなたの問題を解決します!