1. ホーム
  2. typescript

[解決済み] 重複した識別子」という紛らわしいTypescriptエラーメッセージが発生する。

2022-02-16 18:06:56

質問

なぜ、このようなエラーやその他多くのエラーが発生するのでしょうか?以下に、レポへのリンクと主要なコードスニペットを追加します。私は、依存関係と"include"チェーンがどのように動作するかについて基本的な誤解があると思います。

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"
    }
  }
}

解決方法は?

これは、2つのことが重なっているためです。

  • tsconfig ない files セクションを作成します。から http://www.typescriptlang.org/docs/handbook/tsconfig-json.html

    tsconfig.jsonに"files"プロパティが存在しない場合、コンパイラーはデフォルトで、含まれているディレクトリとサブディレクトリのすべてのファイルを含めます。files"プロパティが指定された場合、それらのファイルのみが含まれます。

  • 含む typescript をnpmの依存関係として使用します。 node_modules/typescript/ これは、すべての typescript が含まれる......暗黙のうちに含まれる lib.d.ts をプロジェクトに組み込むことができます ( http://basarat.gitbook.io/typescript/content/docs/types/lib.d.ts.html ) で、NPM 版の typescript に同梱されているものと競合しています。

修正

どちらかのリスト files または include 明示的に https://basarat.gitbook.io/typescript/docs/project/files.html ????