Definitelytyped: @ types / node、コンパイルできません:node_modules / @ types / node / index.d.ts(50,14):エラーTS2687:「iterator」のすべての宣言には同一の修飾子が必要です。

作成日 2017年03月10日  ·  41コメント  ·  ソース: DefinitelyTyped/DefinitelyTyped

7.0.8以降、使用時

node_modules / @ types / node / index.d.ts(50,14):エラーTS2687:「iterator」のすべての宣言には同一の修飾子が必要です。

私たちのtsconfig:

{ "compilerOptions": { "target": "es5", "module": "amd", "sourceMap": true, "strictNullChecks": true, "noImplicitAny": false, "noImplicitReturns": true, "noImplicitThis": false, "noUnusedParameters": false, "noUnusedLocals": true, "experimentalDecorators": false, "emitDecoratorMetadata": false, "removeComments": true, "outFile": "../js/ts.js" }, "exclude": [ "node_modules", "../node_modules", "../../node_modules" ] }

競合は@types / node line50と@types / core-js、line 504(iterator:Symbol)の間にあります

最も参考になるコメント

@harrietsCreativeDabbletsプロジェクトのdevDependencies( ng-start/package.json )に以下を含めることができるはずです:

"@types/node": "7.0.7"

この以来満たすjspm-configそれsemverは、お使いのバージョンを確認します@types/nodeにロックされます7.0.7 。 これがjspm-config semverを満たさない場合、定義が重複することになります。

プロジェクトのpackage.jsonを変更した後は、必ずnode_modulesnpm iを削除してください。

全てのコメント41件

私も同じ問題です。 tsconfig:
{ "compilerOptions": { "allowJs": false, "target": "es5", "module": "commonjs", "moduleResolution": "node", "allowSyntheticDefaultImports": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "sourceMap": true, "noEmitHelpers": true, "noUnusedLocals": true, "noImplicitReturns": true, "noUnusedParameters": true, "baseUrl": ".", "paths": { "app": [ "src/app" ], "app/*": [ "src/app/*" ], "core": [ "src/core" ], "core/*": [ "src/core/*" ] }, "typeRoots": [ "node_modules/@types" ] }, "compileOnSave": false, "buildOnSave": false, "exclude": [ "node_modules" ] }

明らかにreadonlyの前に修飾子iterator 、間違いでした。 またはcore-jsが間違っています。

ここで同じ問題が発生しました。すべてのビルドが一晩で壊れました。
私たちのtsconfig

{
  "compilerOptions": {
    "target": "ES5",
    "sourceMap": true,
    "typeRoots": [ "node_modules/@types/" ],
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "declaration": false,
    "watch": true
  },
  "compileOnSave": true,
  "include": [
    "src/**/*"
  ],
  "exclude": [
    ".vscode",
    "node_modules",
    "dist"
  ]
}

この問題もあります。 とりあえず@types / nodeのバージョンを7.0.7に修正しましたが、それでも機能します。 主に問題を追跡するためにここに投稿します。

これと同じ問題が発生しています。 すべてを壊した。

+1同じ問題。

ここでもまったく同じです。

こっちも一緒、
一時的に7.0.7に固定されます。

+1同じ

私は同じ問題を抱えています。
@types/node": "7.0.7"戻すと、問題が修正されます

core-jsを削除し、@ types / [email protected]とtsconfigを使用することで機能します: "lib":["es7"]

こっちも一緒。 @ types / nodeに戻る」:「7.0.7」で問題が修正されます。進行状況を追跡するためにマークが付けられます。

#15108で修正する必要があります。 Iteratorなどのタイプはcore-jsによって提供されなくなったため、tsconfigの「lib」を変更する必要がある場合があることに注意してください。

@ andy-ms「lib」をに変更する必要があることを何を提案していますか?

@baywet libは、プロジェクトによって異なります。 たとえば、私のプロジェクトはES5にコンパイルされますが、一部のES6機能をポリフィルするにはcore-jsが必要です。 これは私のlibです:

"lib": [
  "es6"
  "dom"
]

コンパイラオプションのドキュメント--libを確認してください。

@ types / node ":" 7.0.7 "のバージョンを正確に変更する必要があるファイルはどれですか?
ディレクトリ検索により、そのようなエントリが2つあることがわかります。

image

どちらを変更しますか、それとも両方を変更しますか?

これらは両方ともnode_modulesにあるため、おそらくチェックインされておらず、直接変更することはできません。 使用するインストーラーツール(例: npmまたはjspm )には、パッケージのインストール方法とバージョンの設定方法を説明したドキュメントが必要です。
ただし、上記の説明が示すように、すべてのライブラリの最新バージョンを使用し、 tsconfig.json --libを正しく設定することをおtsconfig.jsonします。

適切にインストールすると、最新の情報を取得するために、package.json(s)の最初の文字が^のバージョンになります。 ここで説明したような一般的な@typesとlibsの問題については、修正したら、最初にすべてのnode_modulesディレクトリ(メインプロジェクトパス、クライアントパスなど)を削除し、次に関連する各ディレクトリにnpm installを実行してから、tscを再度起動します(通常、gruntまたは同等のビルドファイルを使用します)、すべてが正常であることを確認します。
プリプロダクションおよびプロダクション環境では、同じことを行う必要がある場合があります。

@harrietsCreativeDabbletsプロジェクトのdevDependencies( ng-start/package.json )に以下を含めることができるはずです:

"@types/node": "7.0.7"

この以来満たすjspm-configそれsemverは、お使いのバージョンを確認します@types/nodeにロックされます7.0.7 。 これがjspm-config semverを満たさない場合、定義が重複することになります。

プロジェクトのpackage.jsonを変更した後は、必ずnode_modulesnpm iを削除してください。

@ pe8ter精度をありがとう。 最終的に@types /

"lib": [
      "dom",
      "dom.iterable",
      "es2015",
      "scripthost"
    ],

ここで同じ問題。 7.0.7バージョンのダウングレードで解決

ここで同じ問題。 7.0.7バージョンのダウングレードで解決

これが解決されたようには見えず、バージョン7.0.7を永久に使用することは論理的ではありません。 その上、バージョンを固定してもこれは修正されませんでした。 このスレッドには何もありません。

あなたの活字版から何が@loctrice node_modules/typescript/package.jsonから、ノードバージョンnode_modules/@types/node/package.json

typescriptは2.3.4で、ノードは8.0.5です。

@loctriceこれらのバージョンではこれを再現できません。 私は空白のディレクトリにいて、それらをインストールしました。 tsconfig何が入っていますか? あなたは小さな再現を得ることを試みることができますか?
ちなみに、 8.0.5ではなく8.0.50という意味ですか? ただし、両方でテストしたところ、エラーは発生しませんでした。

tsconfigがどうあるべきかわかりません。 古いタイピングから@typesにアップグレードした後、私はこれに

{{
"compilerOptions":{
"ターゲット": "es5"、
"モジュール": "システム"、
"moduleResolution": "ノード"、
"sourceMap":false、
"emitDecoratorMetadata":true、
「experimentalDecorators」:true、
"removeComments":true、
"noImplicitAny":false、
"typeRoots":[
"./node_modules/@types"
]、
"lib":[
「es2015」、
「es6」、
「dom」、
「dom.iterable」
]
}、

インストールされているバージョンとそのtsconfig.jsonエラーを再現することはできません。

  • mkdir repro; cd repro`
  • そのコンテンツをtsconfig.jsonに貼り付けます(そして末尾の}を追加します)
  • npm install @types/[email protected] [email protected]
  • echo "" > a.ts
  • node node_modules/typescript/lib/tsc.js
  • エラーなし

これは、トラブルシューティングを開始するのに役立ちます。 一度に1つずつタイピングを追加して、angular2プロジェクトのどこに問題があるかを確認します。

これは、私がインストールしたcore-jsおよびes6タイピングが原因である可能性があります。 core-jsを削除すると、昨日core-jsのバージョンを0.9.35に固定して修正した、「Promise isatype」などの機能からエラーが発生します。 これが私のタイピングです:

チャイ: "^ 4.0.4"、
core-js: "0.9.35"、
ノード: "^ 8.0.50"、
openlayers: "^ 4.1.0"、
systemjs: "^ 0.20.6"、

競合のように見えるのは、504行目のcore-jsにiterator: symbolの定義があり、54行目のノード入力にreadonly iterator: symbol定義があり、これらのいずれかを手動で次のように変更しているためです。 matchは私のプロジェクトをコンパイルします。

私はangular2-electron-boilerplateを更新して動作させようとしています。 このエラーが発生します:

node_modules/@types/node/index.d.ts(79,14): error TS2687: All declarations of 'iterator' must have identical modifiers.

79     readonly iterator: symbol;
                ~~~~~~~~
phil<strong i="9">@Loki</strong> ~/d/g/s/g/o/angular2-electron-boilerplate (master) [130]> 
grep -rnE 'iterator:\s+symbol' node_modules/
node_modules//@types/node/index.d.ts:79:    readonly iterator: symbol;
node_modules//typescript/lib/lib.es2015.iterable.d.ts:28:    readonly iterator: symbol;
node_modules//typescript/lib/lib.es6.d.ts:4763:    readonly iterator: symbol;
node_modules//reflect-metadata/Reflect.ts:95:    declare const Symbol: { iterator: symbol, toPrimitive: symbol };

バージョン:

@philipbelあなたはそれを理解しましたか?

@loctriceが説明する問題

いいえ、していません。

2018年1月2日には、午前2時11分で、Smackzter [email protected]書きました:

@philipbelあなたはそれを理解しましたか?


あなたが言及されたので、あなたはこれを受け取っています。
このメールに直接返信するか、GitHubで表示するか、スレッドをミュートしてください。

@philipbel問題はreflect-metadataです。 Reflect.d.tsではなくReflect.tsコンパイルすることになった経緯に興味があります。

@loctrice手動でcore-jsを編集して、プロジェクトをコンパイルできますが、より良い解決策がありますか?

@ types /[email protected]で試してみましたがうまく

@thanhngvpt私はこのプロジェクトに貢献していないので、解決策を提供できません。 私は最終的にプロジェクトをアップグレードすることを余儀なくされました、そしてそれでほとんどのパッケージで、そしてすべてがうまく見えました。

これを解決するには

npm i [email protected] --save

私のビルドはどこからともなく壊れました!! この問題は引き続き発生します。

私の環境

Ionic:

   Ionic CLI          : 5.2.3 (C\\\\node_modules\ionic)
   Ionic Framework    : ionic-angular 3.9.5
   @ionic/app-scripts : 3.2.2

Cordova:

   Cordova CLI       : 8.0.0
   Cordova Platforms : android 8.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 20 other plugins)

Utility:

   cordova-res : 0.8.1
   native-run  : 1.0.0

System:

   Android SDK Tools : 26.1.1 (C:\\\\AppData\Local\Android\Sdk)
   NodeJS            : v10.15.3 (C:\Program Files\nodejs\node.exe)
   npm               : 6.4.1
   OS                : Windows 10
Typescript is 2.5

ええ、私は何もこの問題を解決していないようです。 私は持っていませんlib私の中で定義をtsconfig.jsonと私は完全にこのスレッドで提供される情報によって当惑しています。 これは私のtsconfig.jsonファイルです:

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "moduleResolution": "node",
        "rootDir": "src",
        "outDir": "out",
        "forceConsistentCasingInFileNames": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "pretty": true,
        "declaration": true
    }
}

完全に制御できない次のコンパイラエラーの生成を停止するために、これについて正確に何をすべきですか?

node_modules/vscode/vscode.d.ts:534:3 - error TS2687: All declarations of 'textEditor' must have identical modifiers.

534     textEditor: TextEditor;
        ~~~~~~~~~~

node_modules/vscode/vscode.d.ts:8363:3 - error TS2687: All declarations of 'body' must have identical modifiers.

8363    body?: any;
        ~~~~

依存関係:

"devDependencies": {
  "@types/node": "^8.10.59",
  "@types/vscode": "^1.1.36",
  "rimraf": "^3.0.0",
  "tslint": "^5.20.1",
  "tslint-config-xo": "^2.0.0",
  "typescript": "^3.7.4",
  "vscode": "^1.1.36"
}

"skipLibCheck": truetsconfig.json追加すると、コンパイラエラーが削除されたようです。 ただし、使用済みライブラリに対してタイプチェックを行わない方がよいかどうかはわかりません。

{
    "compilerOptions": {
        "skipLibCheck": true
    }
}
このページは役に立ちましたか?
0 / 5 - 0 評価