web-dev-qa-db-fra.com

Erreur: TSError: ⨯ Impossible de compiler TypeScript

Je suis confronté au problème: 

Mon projet est construit sur Angular4 avec TypeScript, ainsi que sur les tests e2e avec rapporteur et karma.

Travis-ci a cette erreur:

[03:34:54] E/launcher - Error: TSError: ⨯ Unable to compile TypeScript
Cannot find type definition file for 'jasmine'. (2688)
Cannot find type definition file for 'node'. (2688)
e2e/app.e2e-spec.ts (1,32): Cannot find module './app.po'. (2307)
e2e/app.e2e-spec.ts (4,1): Cannot find name 'describe'. (2304)
e2e/app.e2e-spec.ts (7,3): Cannot find name 'beforeEach'. (2304)
e2e/app.e2e-spec.ts (11,3): Cannot find name 'it'. (2304)
e2e/app.e2e-spec.ts (13,5): Cannot find name 'expect'. (2304)

The command "ng e2e" exited with 4.

Mon tsconfig.json:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "baseUrl": ".",
    "paths": {
      "*": ["./node_modules/*", "*"]
    },
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "types": [ "node", "jasmine" ],
    "typeRoots": [
      "./node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  }
}

Mon tsconfig.spec.json:

{
  "compilerOptions": {
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "es2016",
      "dom"
    ],
    "outDir": "../out-tsc/spec",
    "module": "commonjs",
    "target": "es5",
    "baseUrl": "",
    "types": [
      "jasmine",
      "node"
    ],
    "typeRoots": [
      "../node_modules/@types"
    ]
  },
  "files": [
    "test.ts"
  ],
  "include": [
    "**/*.spec.ts"
  ]
}

Node v6.10.3

npm v3.10.10

Aidez-moi, s'il vous plaît.

6
RicoLiu

J'ai rencontré le même problème. D'abord, je supprime ts-node et TypeScript de package.json. puis,

npm install ts-node --save-dev
npm install TypeScript -g 
npm install TypeScript --save-dev
2
Sajin M Aboobakkar

Je suis venu ici à la recherche d'une solution à une erreur similaire lorsque j'ai mis à jour ma version TypeScript. Mine n'était pas un nouveau projet. J'exécute un projet angular2 avec "@angular/cli": "1.2.0". J'ai mis à jour ma version TypeScript de 2.0.3 à 2.7.2, puis des problèmes similaires à ceux décrits ci-dessous se présentaient lors de l'exécution de ng e2e

Erreur: TSError: ⨯ Impossible de compiler TypeScript 
 Impossible de trouver le fichier de définition de type pour 'core-js'. (2688) 
 Impossible de trouver le fichier de définition de type pour 'grecaptcha'. (2688) 
 Impossible de trouver le fichier de définition de type pour 'jasmine'. (2688) 
 Impossible de trouver le fichier de définition de type pour 'moment-fuseau horaire'. (2688) 
 Impossible de trouver le fichier de définition de type pour 'noeud'. (2688) 
 Impossible de trouver le fichier de définition de type pour 'q'. (2688)

Les solutions proposées dans cet article n'ont pas fonctionné pour moi.

Je l'ai corrigé en mettant à jour ts-node à 5.0.1. Les versions supérieures à cela donnaient des erreurs comme celle ci-dessous lors de l'exécution de ng e2e même si experimentalDecorators était défini sur true dans tsconfig.json

erreur TS1219: la prise en charge expérimentale des décorateurs est une fonctionnalité susceptible d'être modifiée dans une version ultérieure. Définissez l'option 'experimentalDecorators' pour supprimer cet avertissement.

Outre le changement ci-dessus, j'ai également changé quelques lignes dans protractor.conf.js

Modifié:

beforeLaunch: function () {
    require('ts-node').register({
        project: 'e2e'
    });
},

à

beforeLaunch: function () {
   require('ts-node/register')
}

Ceci est pour les personnes qui peuvent trébucher dans ce post et la solution proposée ne fonctionne pas pour eux.

1
xyz

si seulement "npm install -g TypeScript" ne fonctionne pas.

essayez de faire "tsc" dans le dossier du projet

0
Deyvison Souto

Voici ma solution à ce problème: -Lancez cette commande

npm install -save-dev [email protected]

npm WARN [email protected] No repository field.
npm WARN [email protected] No license field.

+ [email protected]
updated 1 package and audited 657 packages in 2.539s
found 0 vulnerabilities
0
Khyati Sehgal