Quand je npm runbuild dans vue.js obtient l'erreur L'interface 'NodeRequire' ne peut pas étendre simultanément les types 'Require'

12
ERROR in C:/phpStudy2018/PHPTutorial/WWW/Tms.Web/node_modules/@types/node/globals.d.ts(139,11):
139:11 Interface 'NodeRequire' cannot simultaneously extend types 'Require' and 'RequireFunction'.
  Named property 'cache' of types 'Require' and 'RequireFunction' are not identical.
    137 |
    138 | // For backwards compability
  > 139 | interface NodeRequire extends NodeJS.Require {}
        |           ^
    140 | interface RequireResolve extends NodeJS.RequireResolve {}
    141 | interface NodeModule extends NodeJS.Module {}
    142 |

 error  in C:/phpStudy2018/PHPTutorial/WWW/Tms.Web/node_modules/@types/node/globals.d.ts

ERROR in C:/phpStudy2018/PHPTutorial/WWW/Tms.Web/node_modules/@types/node/globals.d.ts(139,11):

Mon environnement est vue.js + typescript. Je ne sais pas si j'ai des problèmes avec ma configuration ou avec le package tiers Pouvez-vous me donner quelques conseils utiles Merci

LiJing
la source

Réponses:

19

J'ai eu le même problème.

la version de @ types / node était la 13.1.0 publiée le lun.23 déc.2019 16:40:55 GMT

dans mon cas, ça marche quand j'utilise l'ancienne version 12.12.22

npm install --save-dev @types/[email protected]

kyane
la source
Vous devez également utiliser --save-exactflag ou package.jsonobtenir cette ligne: "@types/node": "^12.12.22"au lieu de la version exacte"12.12.22"
ux.engineer
fonctionne bien pour moi ... Merci
kumaresan_sd
1

Je pense qu'il vaut mieux exclure les @typesdéfinitions de la compilation: https://stackoverflow.com/a/57113847/1704895

C'est incroyablement simple (tsconfig.json):

{
  "compilerOptions": {
    ...,
    "types": []
  }
}
Cequiel
la source