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)の間にあります
私も同じ問題です。 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つあることがわかります。
どちらを変更しますか、それとも両方を変更しますか?
これらは両方とも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_modules
とnpm 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
エラーを再現することはできません。
}
を追加します)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": true
をtsconfig.json
追加すると、コンパイラエラーが削除されたようです。 ただし、使用済みライブラリに対してタイプチェックを行わない方がよいかどうかはわかりません。
{
"compilerOptions": {
"skipLibCheck": true
}
}
最も参考になるコメント
@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_modules
とnpm i
を削除してください。