TypeScript: Duplicate identifier 'IteratorResult'

后端 未结 10 1869
无人共我
无人共我 2020-12-15 01:59

I\'m trying to compile via tsc--which I\'ve installed globally--and I\'m getting an error:

~/AppData/R         


        
10条回答
  •  我在风中等你
    2020-12-15 02:38

    For me it turned out I had a node_modules folder in a parent directory project, something similar to this:

    node_modules
    my-project
    - node_modules
    

    Since the node_modules had an older version of @types/node installed, the problem happened. In my case the solution however wasn't to update @types/node but instead to remove those node_modules since I wasn't using them in the first place.

    If you actually need to have a node_modules in a parent directory with different types and this is how you want it to be, then you can specify the typeRoots specifically:

    {
      "compilerOptions": {
        "module": "esnext",
        "target": "es6",
        "declaration": true,
        "outDir": "./dist",
        "typeRoots": ["./node_modules/@types/"]
      },
      "include": [
        "src/**/*"
      ]
    }
    

    That way, the parent node_modules aren't scanned for types. Otherwise they are, read here: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types

    By default all visible “@types” packages are included in your compilation. Packages in node_modules/@types of any enclosing folder are considered visible; specifically, that means packages within ./node_modules/@types/, ../node_modules/@types/, ../../node_modules/@types/, and so on.

提交回复
热议问题