Reputation: 2074
I'm working on an Angular 2 project and all of a sudden I have started to get lots and lots of errors when I try and run the typescript compiler. Can anybody please advise on where to start searching? I have not knowingly changed anything fundamental and even when I clone a fresh copy from the repository the errors persist. The errors are below:
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='.
Upvotes: 7
Views: 9889
Reputation: 21
Removing the typings.json file will fix this.
A previous version of the Angular Quickstart project included this file. However, when trying to upgrade to the most recent version of Angular, I found that this file is no longer part of Quickstart. It was removed in this commit. Looking over the updates to Quickstart is helpful if you originally based your project off of that code.
Upvotes: 0
Reputation: 1605
As mentioned before, you seem to have mixed @types (by using typescript2) with typings. Just like me when I upgraded to typescript 2.x. I got exactly the same kind of errors.
I solved by simply adding the types declaration "types": []
in the compilerOptions in tsconfig. I have described this in more detail here:
https://stackoverflow.com/a/40627265/333150
This will basically not include any of the types from the @types location, and only use your typings declarations.
Upvotes: 2
Reputation: 7919
It looks like you have the node typings in two places.
node_modules/@types/node/index.d.ts
typings/globals/node/index.d.ts
Upvotes: 14