重复标识符错误波普尔.js



我无法修复此错误或确定原因。 没有代码更改,因此我认为这是 NPM 包更新的结果。 这是控制台的错误日志。这是针对 Angular2 应用程序的。

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文件:

{
"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"
]
}

这是我的包.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": {}
}

昨天当我将存储库克隆到新机器上并进行 NPM 安装以获取软件包时,我遇到了同样的问题 - 完全相同的错误。我的项目也使用 ng2-semantic-ui 包。 Ng2-semantic-ui 依赖于 Popper.js 和 @types\popper(打字稿定义(。

"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"
},

我能够将原始软件包与新的软件包进行比较,我注意到popper.js现在包含打字稿定义(index.d.ts(。 看起来它们是在 1.11.1 中引入的 - 我的工作版本上有 1.10.8,我的机器上有 1.12.1,"损坏"版本(与您的错误相同(。

错误和重复标识符的来源是 popper.js 的重复类型定义。

我将在ng2-semantic-ui上打开一个问题,看看我们是否可以删除对@types/popper的依赖.js因为它在最新版本的popper.js中不需要。 与此同时,我移除了@types/波普尔.js并能够获得良好的构建。 希望这有帮助!

更新:此问题似乎已在 3 周前版本 0.9.4 (问题 195( (https://github.com/edcarroll/ng2-semantic-ui/releases/tag/v0.9.4( 中的修补程序中得到解决。更新 package.json 中的依赖项版本,您应该很高兴。

最新更新