令人困惑的“重复标识符”打字稿错误消息

为什么会出现此错误以及更多此类错误?我在下面添加了指向仓库的链接以及关键代码段。我认为我对依赖关系和“包含”链接的工作方式有一个基本的误解。


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"

    }

  }

}


慕容森
浏览 910回答 3
3回答

肥皂起泡泡

Typings的1.0版更改了输出结构,以下答案与1.0版之前的版本有关。如果您使用的是Typings并排除在tsconfig.json中,则可能会遇到重复类型的问题,并且需要以下内容:{  "exclude": [    "typings/browser.d.ts",    "typings/browser",    "node_modules"  ]}为了简化与TypeScript的集成,将生成两个文件-键入/main.d.ts和键入/browser.d.ts-引用项目中安装的所有键入,一次只能使用其中一个。因此,根据所需的版本,应排除(或包括)“浏览器”或“主”类型的文件,但不能同时包括两者,因为这是重复项的来源。

眼眸繁星

解决问题的方法很简单:删除node_modules文件夹运行npm install以获取所有具有正确版本的软件包就我而言,问题是在更改Git分支后发生的,其中一个新分支正在使用一组不同的节点模块。旧分支使用TypeScript v1.8,新分支使用v2.0
打开App,查看更多内容
随时随地看视频慕课网APP