tsc 报告错误 TS2318:找不到全局类型 'Boolean'

ric*_*cky 4 node.js tsc typescript1.8 typescript-typings

我是 node 和 typescript 的新手,在编译 typescript 项目时遇到了麻烦。我已经阅读了关于 SO 的 serval 帖子,但仍然无法解决我的问题。

有人可以帮我解决这个问题吗?

tsconfig.json:

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true,
    "noLib": false
  },
  "files": [
    "typings/index.d.ts"
  ]
}
Run Code Online (Sandbox Code Playgroud)

打字/index.d.ts:

/// <reference path="globals/angular-protractor/index.d.ts" />
/// <reference path="globals/core-js/index.d.ts" />
/// <reference path="globals/jasmine/index.d.ts" />
/// <reference path="globals/koa/index.d.ts" />
/// <reference path="globals/node/index.d.ts" />
/// <reference path="globals/require/index.d.ts" />
/// <reference path="globals/selenium-webdriver/index.d.ts" />
/// <reference path="globals/sequelize/index.d.ts" />
/// <reference path="globals/typescript/index.d.ts" />
Run Code Online (Sandbox Code Playgroud)

报告的错误:

>pats-test-report-client@1.0.0 compile C:\WorkSpace\WeiHao\Git\dev-pats-test-report\server
>typings install && tsc && concurrently


??? angular-protractor (global)
??? core-js (global)
??? jasmine (global)
??? koa (global)
??? node (global)
??? require (global)
??? selenium-webdriver (global)
??? sequelize (global)
??? typescript (global)

../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(17,14): error TS2300: Duplicate identifier 'PropertyKey'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(26,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(33,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(61,5): error TS2300: Duplicate identifier 'hasInstance'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(67,5): error TS2300: Duplicate identifier 'isConcatSpreadable'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(73,5): error TS2300: Duplicate identifier 'iterator'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(79,5): error TS2300: Duplicate identifier 'match'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(85,5): error TS2300: Duplicate identifier 'replace'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(91,5): error TS2300: Duplicate identifier 'search'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(97,5): error TS2300: Duplicate identifier 'species'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(103,5): error TS2300: Duplicate identifier 'split'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(109,5): error TS2300: Duplicate identifier 'toPrimitive'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(115,5): error TS2300: Duplicate identifier 'toStringTag'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(121,5): error TS2300: Duplicate identifier 'unscopables'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(219,5): error TS2300: Duplicate identifier 'name'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(237,5): error TS2300: Duplicate identifier 'EPSILON'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(272,5): error TS2300: Duplicate identifier 'MAX_SAFE_INTEGER'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(279,5): error TS2300: Duplicate identifier 'MIN_SAFE_INTEGER'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(305,5): error TS2300: Duplicate identifier '[Symbol.unscopables]'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(565,5): error TS2300: Duplicate identifier 'done'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(566,5): error TS2300: Duplicate identifier 'value'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(709,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(795,5): error TS2300: Duplicate identifier 'flags'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(823,5): error TS2300: Duplicate identifier 'size'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(833,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(849,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(861,5): error TS2300: Duplicate identifier 'size'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(871,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(886,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(891,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(1282,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(3,14): error TS2300: Duplicate identifier 'PropertyKey'.
typings/globals/core-js/index.d.ts(67,5): error TS2300: Duplicate identifier 'name'.
typings/globals/core-js/index.d.ts(127,5): error TS2300: Duplicate identifier '[Symbol.unscopables]'.
typings/globals/core-js/index.d.ts(244,5): error TS2300: Duplicate identifier 'flags'.
typings/globals/core-js/index.d.ts(258,5): error TS2300: Duplicate identifier 'EPSILON'.
typings/globals/core-js/index.d.ts(293,5): error TS2300: Duplicate identifier 'MAX_SAFE_INTEGER'.
typings/globals/core-js/index.d.ts(300,5): error TS2300: Duplicate identifier 'MIN_SAFE_INTEGER'.
typings/globals/core-js/index.d.ts(439,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
typings/globals/core-js/index.d.ts(446,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(474,5): error TS2300: Duplicate identifier 'hasInstance'.
typings/globals/core-js/index.d.ts(480,5): error TS2300: Duplicate identifier 'isConcatSpreadable'.
typings/globals/core-js/index.d.ts(486,5): error TS2300: Duplicate identifier 'iterator'.
typings/globals/core-js/index.d.ts(492,5): error TS2300: Duplicate identifier 'match'.
typings/globals/core-js/index.d.ts(498,5): error TS2300: Duplicate identifier 'replace'.
typings/globals/core-js/index.d.ts(504,5): error TS2300: Duplicate identifier 'search'.
typings/globals/core-js/index.d.ts(510,5): error TS2300: Duplicate identifier 'species'.
typings/globals/core-js/index.d.ts(516,5): error TS2300: Duplicate identifier 'split'.
typings/globals/core-js/index.d.ts(522,5): error TS2300: Duplicate identifier 'toPrimitive'.
typings/globals/core-js/index.d.ts(528,5): error TS2300: Duplicate identifier 'toStringTag'.
typings/globals/core-js/index.d.ts(534,5): error TS2300: Duplicate identifier 'unscopables'.
typings/globals/core-js/index.d.ts(591,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
typings/globals/core-js/index.d.ts(595,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
typings/globals/core-js/index.d.ts(610,5): error TS2300: Duplicate identifier 'size'.
typings/globals/core-js/index.d.ts(616,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(627,5): error TS2300: Duplicate identifier 'size'.
typings/globals/core-js/index.d.ts(633,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(648,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(662,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(673,5): error TS2300: Duplicate identifier 'done'.
typings/globals/core-js/index.d.ts(674,5): error TS2300: Duplicate identifier 'value'.
typings/globals/core-js/index.d.ts(786,5): error TS2300: Duplicate identifier 'prototype'.
Run Code Online (Sandbox Code Playgroud)

我试过将 tsconfig.json 中的“noLib”选项设置为 true。它会导致另一个错误

> pats-test-report-client@1.0.0 compile C:\WorkSpace\WeiHao\Git\dev-pats-test-report\server
> typings install && tsc && concurrently


??? angular-protractor (global)
??? core-js (global)
??? jasmine (global)
??? koa (global)
??? node (global)
??? require (global)
??? selenium-webdriver (global)
??? sequelize (global)
??? typescript (global)

error TS2318: Cannot find global type 'Boolean'.
error TS2318: Cannot find global type 'IArguments'.
error TS2318: Cannot find global type 'TemplateStringsArray'.
Run Code Online (Sandbox Code Playgroud)

我明白为什么当 noLib 设置为 false 时会报告错误 TS2300。但是不知道为什么当noLib设置为true时会报告错误TS2318。

use*_*723 8

我在nodejs上做typescript时遇到这个错误。为了解决这个问题,我必须安装 Nodejs 的类型信息:

npm i @types/node
Run Code Online (Sandbox Code Playgroud)

基本上我认为 typescript 不知道你是在浏览器中还是在 Node.js 上,所以默认情况下,它不包含任一平台的类型信息。


小智 5

可能是您的 tsconfig.json 中缺少 es2015。编辑如下:

{
    "compilerOptions": {
        ...
        "lib": ["es2015"]
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)