投稿日:
    								
    									2019年10月5日    								
    								最終更新日:
    								
    									
    								
    							    						
【TypeScript】streamやBufferのエラーが出る場合の対応方法【原因と解決方法】
YouTubeも見てね♪
ねこじゃすり
猫を魅了する魔法の装備品!
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール
もう一人の僕を呼び覚ませ!!
MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド
Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!
依存ライブラリでTypeScriptエラーが発生
TypeScriptを利用して開発をする際に、様々なライブラリを利用することになると思います。
その際に、依存ライブラリ側でTypeScriptのエラーが出る事があります。
| 
					 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
 | 
						
ERROR in /Users/blogenist/sample/node_modules/canvas/types/index.d.ts
 
4:26 Cannot find module 'stream'.
 
    2 | /// <reference lib="dom" />
 
    3 |
 
  > 4 | import { Readable } from 'stream'
 
      |                          ^
 
    5 |
 
    6 | export interface PngConfig {
 
    7 | 	/** Specifies the ZLIB compression level. Defaults to 6. */
 
ERROR in /Users/blogenist/sample/node_modules/canvas/types/index.d.ts
 
90:41 Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i @types/node` and then add `node` to the types field in your tsconfig.
 
    88 | 	 * SVG.
 
    89 | 	 */
 
  > 90 | 	toBuffer(cb: (err: Error|null, result: Buffer) => void): void
 
       | 	                                       ^
 
    91 | 	toBuffer(cb: (err: Error|null, result: Buffer) => void, mimeType: 'image/png', config?: PngConfig): void
 
    92 | 	toBuffer(cb: (err: Error|null, result: Buffer) => void, mimeType: 'image/jpeg', config?: JpegConfig): void
 
 | 
					
今回の例でいうと、streamやBufferなど、Node.jsのコアモジュールに対するエラーです。
自分で追加しているわけではないのでどうすれば良いのかと悩みがちですが、実はとても簡単にエラーを消す事が出来るのでやり方をご紹介します。
手順
tsconfig.jsonのtypesに追加
解決方法は、tsconfig.jsonのcompilerOptions.typesに「node」を一行追加するだけです。
| 
					 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
 | 
						{ 
  "compilerOptions": {
 
    ...
 
    (略)
 
    ...
 
    "types": [
 
      "webpack-env",
 
      "node" // 追加
 
    ],
 
    ...
 
    (略)
 
    ...
 
} 
 | 
					
たったこれだけでTypeScriptのコンパイルエラーが出なくなります。
終わりに
以上のように一瞬で解決出来るエラーとなっています。
同じような現象でお困りの方は是非こちらを試してみてください♪






