web-dev-qa-db-ja.com

エラー:TSError:Type TypeScriptをコンパイルできません

私は問題に直面しています:

私のプロジェクトはAngular4上でTypeScriptを使用して構築され、e2eは分度器とカルマを使用してテストされます。

Travis-ciには次のエラーがあります。

[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.

私の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"
    ]
  }
}

私の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"
  ]
}

ノードv6.10.

npm v3.10.1

私を助けてください。

12
RicoLiu

同じ問題に遭遇しました。まず、package.jsonからts-nodeとTypeScriptを削除します。その後、

npm install ts-node --save-dev
npm install TypeScript -g 
npm install TypeScript --save-dev
5

TypeScriptバージョンを更新したときに、同様のエラーの解決策を探してここに来ました。Mineは新しいプロジェクトではなく、"@angular/cli": "1.2.0"でangle2プロジェクトを実行しています。 TypeScriptバージョンを2.0.3から2.7.2に更新すると、ng e2eの実行中に以下のような同様の問題が発生しました。

エラー:TSError:Type TypeScript 
をコンパイルできません。'core-js 'のタイプ定義ファイルが見つかりません。 (2688)
「grecaptcha」のタイプ定義ファイルが見つかりません。 (2688)
「ジャスミン」のタイプ定義ファイルが見つかりません。 (2688)
 'moment-timezone'のタイプ定義ファイルが見つかりません。 (2688)
「ノード」のタイプ定義ファイルが見つかりません。 (2688)
「q」のタイプ定義ファイルが見つかりません。 (2688)

この投稿で提案されたソリューションは、私にとってはうまくいきませんでした。

ts-node5.0.1に更新して修正しました。これより上のバージョンでは、ng e2eexperimentalDecoratorstrueに設定していても、tsconfig.jsonの実行中に以下のようなエラーが発生していました。

エラーTS1219:デコレータの実験的なサポートは、将来のリリースで変更される可能性がある機能です。この警告を削除するには、「experimentalDecorators」オプションを設定します

上記の変更とは別に、protractor.conf.jsの数行も変更しました

かわった:

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

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

これは、この投稿に出くわす可能性のある人向けであり、提案されたソリューションは彼らのために機能しません。

1
xyz

「npm install -g TypeScript」のみが機能しない場合。

プロジェクトフォルダで「tsc」を実行してみてください

0
Deyvison Souto

これは、この問題に対する私の解決策です。-このコマンドを実行します

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

私も同じ問題に直面し、エラーが添付されているのを見つけました enter image description here

解決策:tsconfig.jsonを確認し、 "allowJs":falseを設定します

0
Balaji