Typescript编译器突然开始产生错误

我正在开发一个Angular 2项目,当我尝试运行打字稿编译器时,突然间我开始出现大量的错误。 任何人都可以请build议从哪里开始search? 我没有明确地改变任何基本的东西,甚至当我从库中克隆一个新的副本,错误仍然存​​在。 错误如下:

node_modules/@types/node/index.d.ts(102,6): error TS2300: Duplicate identifier 'BufferEncoding'. node_modules/@types/node/index.d.ts(256,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'errno' must be of type 'number', but here has type 'string'. node_modules/@types/node/index.d.ts(263,18): error TS2300: Duplicate identifier 'EventEmitter'. node_modules/@types/node/index.d.ts(549,26): error TS2300: Duplicate identifier 'Buffer'. node_modules/@types/node/index.d.ts(549,50): error TS2300: Duplicate identifier 'SlowBuffer'. node_modules/@types/node/index.d.ts(570,18): error TS2300: Duplicate identifier 'EventEmitter'. node_modules/@types/node/index.d.ts(570,18): error TS2415: Class 'EventEmitter' incorrectly extends base class 'NodeJS.EventEmitter'. Types of property 'eventNames' are incompatible. Type '() => (string | symbol)[]' is not assignable to type '() => string[]'. Type '(string | symbol)[]' is not assignable to type 'string[]'. Type 'string | symbol' is not assignable to type 'string'. Type 'symbol' is not assignable to type 'string'. node_modules/@types/node/index.d.ts(733,18): error TS2300: Duplicate identifier 'Agent'. node_modules/@types/node/index.d.ts(788,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'addressType' must be of type 'string', but here has type 'number | "udp4" | "udp6"'. node_modules/@types/node/index.d.ts(791,18): error TS2300: Duplicate identifier 'Worker'. node_modules/@types/node/index.d.ts(1377,17): error TS2300: Duplicate identifier 'CompleterResult'. node_modules/@types/node/index.d.ts(1414,18): error TS2300: Duplicate identifier 'Script'. node_modules/@types/node/index.d.ts(2550,18): error TS2300: Duplicate identifier 'TLSSocket'. node_modules/@types/node/index.d.ts(2684,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'pfx' must be of type 'any', but here has type 'string | Buffer[]'. node_modules/@types/node/index.d.ts(2685,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'key' must be of type 'any', but here has type 'string | any[] | string[] | Buffer'. node_modules/@types/node/index.d.ts(2687,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'cert' must be of type 'any', but here has type 'string | string[] | Buffer | Buffer[]'. node_modules/@types/node/index.d.ts(2688,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'ca' must be of type 'any', but here has type 'string | string[] | Buffer | Buffer[]'. node_modules/@types/node/index.d.ts(2689,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'crl' must be of type 'any', but here has type 'string | string[]'. node_modules/@types/node/index.d.ts(2691,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'honorCipherOrder' must be of type 'any', but here has type 'boolean'. node_modules/@types/node/index.d.ts(2694,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'NPNProtocols' must be of type 'any', but here has type 'string[] | Buffer'. node_modules/@types/node/index.d.ts(2711,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'key' must be of type 'string | Buffer', but here has type 'string | string[] | Buffer | Buffer[]'. node_modules/@types/node/index.d.ts(2713,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'cert' must be of type 'string | Buffer', but here has type 'string | string[] | Buffer | Buffer[]'. node_modules/@types/node/index.d.ts(2714,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'ca' must be of type '(string | Buffer)[]', but here has type 'string | Buffer | (string | Buffer)[]'. node_modules/@types/node/index.d.ts(2953,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'padding' must be of type 'any', but here has type 'number'. node_modules/@types/node/index.d.ts(2958,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'padding' must be of type 'any', but here has type 'number'. node_modules/@types/node/index.d.ts(3216,5): error TS2309: An export assignment cannot be used in a module with other exported elements. node_modules/@types/node/index.d.ts(3299,5): error TS2300: Duplicate identifier 'export='. node_modules/@types/node/index.d.ts(3321,18): error TS2300: Duplicate identifier 'Domain'. node_modules/@types/node/index.d.ts(3613,5): error TS2300: Duplicate identifier 'export='. typings/globals/node/index.d.ts(78,6): error TS2300: Duplicate identifier 'BufferEncoding'. typings/globals/node/index.d.ts(234,18): error TS2300: Duplicate identifier 'EventEmitter'. typings/globals/node/index.d.ts(516,9): error TS2502: 'BuffType' is referenced directly or indirectly in its own type annotation. typings/globals/node/index.d.ts(517,9): error TS2502: 'SlowBuffType' is referenced directly or indirectly in its own type annotation. typings/globals/node/index.d.ts(518,26): error TS2300: Duplicate identifier 'Buffer'. typings/globals/node/index.d.ts(518,50): error TS2300: Duplicate identifier 'SlowBuffer'. typings/globals/node/index.d.ts(539,18): error TS2300: Duplicate identifier 'EventEmitter'. typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'. Named property 'addListener' of types 'EventEmitter' and 'Server' are not identical. typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'. Named property 'emit' of types 'EventEmitter' and 'Server' are not identical. typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'. Named property 'on' of types 'EventEmitter' and 'Server' are not identical. typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'. Named property 'once' of types 'EventEmitter' and 'Server' are not identical. typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'. Named property 'prependListener' of types 'EventEmitter' and 'Server' are not identical. typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'. Named property 'prependOnceListener' of types 'EventEmitter' and 'Server' are not identical. typings/globals/node/index.d.ts(580,22): error TS2320: Interface 'Server' cannot simultaneously extend types 'EventEmitter' and 'Server'. Named property 'removeListener' of types 'EventEmitter' and 'Server' are not identical. typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'addListener' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'emit' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'on' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'once' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'prependListener' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'prependOnceListener' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(591,22): error TS2320: Interface 'ServerResponse' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'removeListener' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'addListener' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'emit' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'on' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'once' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'prependListener' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'prependOnceListener' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(621,22): error TS2320: Interface 'ClientRequest' cannot simultaneously extend types 'EventEmitter' and 'Writable'. Named property 'removeListener' of types 'EventEmitter' and 'Writable' are not identical. typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'. Named property 'addListener' of types 'EventEmitter' and 'Readable' are not identical. typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'. Named property 'emit' of types 'EventEmitter' and 'Readable' are not identical. typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'. Named property 'on' of types 'EventEmitter' and 'Readable' are not identical. typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'. Named property 'once' of types 'EventEmitter' and 'Readable' are not identical. typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'. Named property 'prependListener' of types 'EventEmitter' and 'Readable' are not identical. typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'. Named property 'prependOnceListener' of types 'EventEmitter' and 'Readable' are not identical. typings/globals/node/index.d.ts(647,22): error TS2320: Interface 'IncomingMessage' cannot simultaneously extend types 'EventEmitter' and 'Readable'. Named property 'removeListener' of types 'EventEmitter' and 'Readable' are not identical. typings/globals/node/index.d.ts(698,18): error TS2300: Duplicate identifier 'Agent'. typings/globals/node/index.d.ts(743,18): error TS2300: Duplicate identifier 'Worker'. typings/globals/node/index.d.ts(1004,22): error TS2300: Duplicate identifier 'CompleterResult'. typings/globals/node/index.d.ts(1044,18): error TS2300: Duplicate identifier 'Script'. typings/globals/node/index.d.ts(1886,18): error TS2300: Duplicate identifier 'TLSSocket'. typings/globals/node/index.d.ts(2343,5): error TS2300: Duplicate identifier 'export='. typings/globals/node/index.d.ts(2365,18): error TS2300: Duplicate identifier 'Domain'. typings/globals/node/index.d.ts(2625,5): error TS2300: Duplicate identifier 'export='. 

看起来你有两个地方的节点types。

node_modules/@types/node/index.d.ts

分型/全局/节点/ index.d.ts

如前所述,你好像混合了@types(通过使用typescript2)与typings。 就像我升级到打字稿2.x. 我有完全相同的错误。 我通过简单地在tsconfig中的compilerOptions中添加types声明“ types": []来解决。 我在这里更详细地描述了这个: https : //stackoverflow.com/a/40627265/333150

这基本上不会包含@types位置的任何types,只能使用types声明。

删除typings.json文件将解决这个问题。

以前版本的Angular Quickstart项目包含此文件。 但是,当试图升级到最新版本的Angular时,我发现这个文件不再是Quickstart的一部分。 它在这个提交中被删除。 如果您最初基于您的项目的代码,查看Quickstart的更新是有帮助的。