2017-07-31 35 views
4

私はこのエラーを修正することも、原因を特定することができませんでした。コードは変更されていないので、NPMパッケージが更新された結果であると想定します。ここにコンソールへのエラーログがあります。これはAngular2アプリケーションのためのものです。あなたが要求したとしてDuplicate Identifier Error Popper.js

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "lib": [ "es2015", "dom" ], 
    "noImplicitAny": true, 
    "suppressImplicitAnyIndexErrors": true, 
    "typeRoots": [ 
     "../node_modules/@types/" 
    ] 
    }, 
    "compileOnSave": true, 
    "exclude": [ 
    "node_modules/*", 
    "**/*-aot.ts" 
    ] 
} 

ここに私のpackage.jsonファイルは次のとおりです。

ERROR in [at-loader] ./node_modules/@types/popper.js/index.d.ts:6:19 
    TS2300: Duplicate identifier 'Popper'. 

ERROR in [at-loader] ./node_modules/@types/popper.js/index.d.ts:89:15 
    TS2300: Duplicate identifier 'Popper'. 

ERROR in [at-loader] ./node_modules/@types/popper.js/index.d.ts:104:3 
    TS2300: Duplicate identifier 'default'. 

ERROR in [at-loader] ./node_modules/popper.js/index.d.ts:8:19 
    TS2300: Duplicate identifier 'Popper'. 

ERROR in [at-loader] ./node_modules/popper.js/index.d.ts:113:15 
    TS2300: Duplicate identifier 'Popper'. 

ERROR in [at-loader] ./node_modules/popper.js/index.d.ts:120:43 
    TS2694: Namespace 'Popper' has no exported member 'ReferenceObject'. 

ERROR in [at-loader] ./node_modules/popper.js/index.d.ts:130:3 
    TS2300: Duplicate identifier 'default'. 

は、ここに私のtsconfig.jsonファイルです。私は過去にこのエラーを受け取っていなかったため、問題は、これらのパッケージのいずれかが不安定なバージョンにアップグレードされていることだと思う:

{ 
    "name": "truerec-verifier-landing-page", 
    "version": "1.0.0", 
    "description": "TrueRec verifier web.", 
    "scripts": { 
    "start": "webpack-dev-server --inline --progress --port 8080", 
    "test": "karma start karma.webpack.conf.js", 
    "build": "rm -rf dist/* && webpack --config config/webpack.prod.js --bail", 
    "dev": "rm -rf dist/* && webpack --config config/webpack.dev.js --bail" 
    }, 
    "keywords": [], 
    "author": "", 
    "license": "MIT", 
    "dependencies": { 
    "@angular/animations": "~4.1.1", 
    "@angular/common": "~4.1.1", 
    "@angular/compiler": "~4.1.1", 
    "@angular/compiler-cli": "~4.1.1", 
    "@angular/core": "~4.1.1", 
    "@angular/forms": "~4.1.1", 
    "@angular/http": "~4.1.1", 
    "@angular/platform-browser": "~4.1.1", 
    "@angular/platform-browser-dynamic": "~4.1.1", 
    "@angular/platform-server": "~4.1.1", 
    "@angular/router": "~4.1.1", 
    "@angular/tsc-wrapped": "~4.1.1", 
    "@angular/upgrade": "~4.1.1", 
    "angular-in-memory-web-api": "~0.3.1", 
    "angular2-recaptcha": "^0.4.1", 
    "core-js": "^2.4.1", 
    "jquery": "^3.2.1", 
    "js-sha3": "^0.5.7", 
    "ng2-pdf-viewer": "^1.1.0", 
    "ng2-semantic-ui": "^0.8.4", 
    "ng2-toastr": "^4.1.2", 
    "ngx-cookie": "^1.0.0", 
    "pdfjs-dist": "^1.8.430", 
    "rxjs": "5.0.1", 
    "zone.js": "0.8.12" 
    }, 
    "devDependencies": { 
    "@types/google.analytics": "0.0.33", 
    "@types/jasmine": "2.5.36", 
    "@types/node": "^6.0.45", 
    "angular2-template-loader": "^0.6.0", 
    "awesome-typescript-loader": "^3.0.4", 
    "css-loader": "^0.26.1", 
    "extract-text-webpack-plugin": "2.0.0-beta.5", 
    "file-loader": "^0.9.0", 
    "html-loader": "^0.4.3", 
    "html-webpack-plugin": "^2.16.1", 
    "jasmine": "~2.4.1", 
    "jasmine-core": "~2.4.1", 
    "karma": "^1.3.0", 
    "karma-chrome-launcher": "^2.0.0", 
    "karma-cli": "^1.0.1", 
    "karma-jasmine": "^1.0.2", 
    "karma-jasmine-html-reporter": "^0.2.2", 
    "karma-phantomjs-launcher": "^1.0.2", 
    "karma-sourcemap-loader": "^0.3.7", 
    "karma-webpack": "^2.0.1", 
    "less": "^2.7.2", 
    "less-loader": "^4.0.4", 
    "lodash": "^4.16.2", 
    "null-loader": "^0.1.1", 
    "phantomjs-prebuilt": "2.1.13", 
    "protractor": "~4.0.14", 
    "raw-loader": "^0.5.1", 
    "request": "^2.81.0", 
    "resolve-url-loader": "^2.0.2", 
    "rimraf": "^2.5.4", 
    "style-loader": "^0.13.1", 
    "to-string-loader": "^1.1.5", 
    "tslint": "^3.15.1", 
    "typescript": "~2.3.0", 
    "webpack": "2.2.1", 
    "webpack-dev-server": "2.4.1", 
    "webpack-merge": "^3.0.0" 
    }, 
    "repository": {} 
} 
+0

package.jsonファイルの 'dependencies *'セクションも投稿してください。 –

+0

@ShaunLuttinが追加されました! – JSmooth

+0

どのAngular2スタータースケルトンを使用しましたか? –

答えて

2

私は上にレポを複製するとき、私は昨日、この同じ問題に遭遇しました新しいマシンをインストールし、パッケージを取得するためにNPMインストールを実行しました - 同じ正確なエラー。私のプロジェクトでは、ng2-semantic-uiパッケージも使用しています。 Ng2-semantic-uiは、Popper.jsと@types \ popper(typescript definitions)の両方に依存します。

"dependencies": { 
    "@angular/common": "^4.1.0", 
    "@angular/core": "^4.1.0", 
    "@angular/forms": "^4.1.0", 
    "@types/popper.js": "^1.8.0", 
    "element-closest": "^2.0.2", 
    "popper.js": "^1.0.6", 
    "rxjs": "^5.0.1" 
}, 

私は新しいと私のオリジナルのパッケージを比較することができましたAN私はpopper.jsは今typescriptです定義は(index.d.ts)が含まれたことに気づきました。彼らは1.11.1に導入されたようです - 私は私の作業用バージョンで1.10.8、私のマシンで1.12.1を "壊れた"ビルド(あなたと同じエラー)で持っています。

エラーの原因と重複した識別子は、popper.jsの重複した型定義です。

私はng2-semantic-uiで問題を開いて、poppers.jsの最新バージョンでは不要なので、@ types/popper.jsへの依存関係を取り除くことができるかどうかを確認します。その間、@ types/popper.jsを削除して、良いビルドを手に入れることができました。お役に立てれば!

更新:この問題は、3週間前のバージョン0.9.4(問題195)(https://github.com/edcarroll/ng2-semantic-ui/releases/tag/v0.9.4)で修正されるようです。あなたのpackage.jsonで依存関係のバージョンを更新してください。

関連する問題