为什么我得到这个和更多类似的错误?我正在添加一个链接到回购以及下面的关键代码片段。我认为我对依赖和“包括”链接的工作方式有一个基本的误解。

csvproc(master)> tsc
node_modules/typescript/bin/lib.core.d.ts(83,5): error TS2300: Duplicate identifier 'configurable'.
node_modules/typescript/bin/lib.core.d.ts(84,5): error TS2300: Duplicate identifier 'enumerable'.
node_modules/typescript/bin/lib.core.d.ts(85,5): error TS2300: Duplicate identifier 'value'.
node_modules/typescript/bin/lib.core.d.ts(86,5): error TS2300: Duplicate identifier 'writable'.

所有代码都可以在这里找到。

我的tsconfig.json:

{
    "compilerOptions": {
        "module": "commonjs",
        "noImplicitAny": false,
        "outDir": "built/",
        "sourceMap": true,
        "target": "es5"
    }
}

我的tsd.json:

{
  "version": "v4",
  "repo": "borisyankov/DefinitelyTyped",
  "ref": "master",
  "path": "typings",
  "bundle": "typings/tsd.d.ts",
  "installed": {
    "node/node-0.10.d.ts": {
      "commit": "6387999eb899d0ba02d37dd8697647718caca230"
    },
    "should/should.d.ts": {
      "commit": "e1182d56ccb192379eade6055d9ba3fb6a0bacc4"
    }
  }
}

我的tsd.d.ts:

{
  "version": "v4",
  "repo": "borisyankov/DefinitelyTyped",
  "ref": "master",
  "path": "typings",
  "bundle": "typings/tsd.d.ts",
  "installed": {
    "node/node-0.10.d.ts": {
      "commit": "6387999eb899d0ba02d37dd8697647718caca230"
    },
    "should/should.d.ts": {
      "commit": "e1182d56ccb192379eade6055d9ba3fb6a0bacc4"
    }
  }
}

当前回答

在我的例子中,我得到的错误是

node_modules/@types/es6-promise/index.d.ts(11,15):错误TS2300:重复标识符“承诺”。

我的包上有@types/es6-promise。Json,但我的tsconfig已经与目标:“es6”。所以我猜在编译时与Promise有冲突。

从包中删除@types/es6-promise。Json文件解决了这个问题。

其他回答

在tsconfig中启用skipLibCheck为我修复了它。

{
  "compilerOptions": {
    "skipLibCheck": true /* Skip type checking all .d.ts files. */
  },
  "exclude": ["node_modules"],
  "include": ["./src/**/*.ts"]
}

我刚刚遇到了这个问题。当我运行npm start时,我得到了一堆重复的标识符错误。

解决方案:

从项目根文件夹运行:

rm -r typings
typings install
npm start

一切都很正常。

在我的例子中,我得到的错误是

node_modules/@types/es6-promise/index.d.ts(11,15):错误TS2300:重复标识符“承诺”。

我的包上有@types/es6-promise。Json,但我的tsconfig已经与目标:“es6”。所以我猜在编译时与Promise有冲突。

从包中删除@types/es6-promise。Json文件解决了这个问题。

运行以下命令将修复此问题。

安装@types/node

如果你已经在typings文件夹中单独安装了类型,将其添加到tsconfig.json:

{
  "exclude": [
    "node_modules",
    "typings"
  ]
}