我正在尝试为 Angular 应用程序提供服务,但我从“ngx-mqtt”中收到此依赖项错误:“^6.6.0”。我的本地CLI是6.2.9版本。我正在尝试更改此依赖项的版本,但仍然收到此错误。我只是不明白为什么会发生这种情况。
./node_modules/ngx-mqtt/src/mqtt.service.js 中的警告 390:34-55 “在“@angular/core”中找不到导出“ɵɵdefineInjectable”(导入为“i0”)
./node_modules/ngx-mqtt/src/mqtt.service.js 390:126-137 中的警告 “在‘@angular/core’中找不到导出‘ɵɵinject’(导入为‘i0’)
./node_modules/ngx-mqtt/src/mqtt.service.js 390:161-172 中的警告 “在‘@angular/core’中找不到导出‘ɵɵinject’(导入为‘i0’)
这些是我对 package.json 的主要依赖项
"dependencies": {
"@angular/animations": "^6.1.7",
"@angular/cdk": "^6.4.7",
"@angular/cli": "~6.2.1",
"@angular/common": "^6.1.0",
"@angular/compiler": "^6.1.0",
"@angular/compiler-cli": "^6.1.0",
"@angular/core": "^6.1.0",
"@angular/flex-layout": "^6.0.0-beta.18",
"@angular/forms": "^6.1.0",
"@angular/http": "^6.1.0",
"@angular/material": "^6.4.7",
"@angular/material-moment-adapter": "^6.4.7",
"@angular/platform-browser": "^6.1.0",
"@angular/platform-browser-dynamic": "^6.1.0",
"@angular/router": "^6.1.0",
"@fortawesome/angular-fontawesome": "^0.3.0",
"@fortawesome/fontawesome-svg-core": "^1.2.21",
"@fortawesome/free-regular-svg-icons": "^5.10.1",
"@fortawesome/free-solid-svg-icons": "^5.10.1",
...
"devDependencies": {
"@angular-devkit/build-angular": "~0.8.0",
"@angular/language-service": "^6.1.0",
"@types/core-js": "^2.5.0",
"@types/node": "~8.9.4",
"codelyzer": "~4.3.0",
"ts-node": "^7.0.1",
"tslint": "^5.11.0",
"typescript": "^2.9.2"
}
从
^
中删除角色 "ngx-mqtt": "^6.6.0"
解决了问题。
当前项目角度版本 角度 CLI:6.1.5 节点:14.17.2
{
"name": "project",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod -c code-qa",
"ssl": "ng serve --port 4400 --ssl true --ssl-cert ../ssl/server.crt --ssl-key ../ssl/server.key",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@agm/core": "^1.0.0-beta.7",
"@amcharts/amcharts4": "^4.10.24",
"@angular/animations": "^6.1.0",
"@angular/cdk": "^6.4.7",
"@angular/common": "^6.1.0",
"@angular/compiler": "^6.1.0",
"@angular/core": "^6.1.0",
"@angular/fire": "^5.2.1",
"@angular/forms": "^6.1.0",
"@angular/http": "^6.1.0",
"@angular/platform-browser": "^6.1.0",
"@angular/platform-browser-dynamic": "^6.1.0",
"@angular/router": "^6.1.0",
"@egjs/view360": "^3.2.2-rc",
"@ng-bootstrap/ng-bootstrap": "^2.1.1",
"@ng-idle/core": "^8.0.0-beta.4",
"@ng-idle/keepalive": "^8.0.0-beta.4",
"@ng-select/ng-select": "^2.1.1",
"@ngx-share/core": "^7.1.4",
"angular-progress-bar": "^1.0.9",
"chart.js": "^2.9.2",
"core-js": "^2.5.4",
"find-remove": "^2.0.0",
"jquery": "^3.4.1",
"jw-angular-social-buttons": "^1.0.0",
"marzipano": "^0.9.0",
"moment": "^2.24.0",
"ng-intercom": "^8.0.0",
"ng-recaptcha": "^5.0.0",
"ng-simple-slideshow": "^1.2.9",
"ngx-gallery": "^5.10.0",
"ngx-moment": "^3.5.0",
"ngx-owl-carousel": "^2.0.7",
"ngx-owl-carousel-o": "2.0.3",
"ngx-pagination": "^5.1.1",
"ngx-rangeslider-component": "^1.0.6",
"ngx-socket-io": "^3.0.1",
"ngx-spinner": "^7.2.0",
"ngx-toastr": "^10.0.4",
"rxjs": "6.0.0",
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.7.0",
"@angular/cli": "~6.1.5",
"@angular/compiler-cli": "^6.1.10",
"@angular/language-service": "^6.1.0",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.2.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^4.2.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.0",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.4.0",
"ts-node": "~5.0.1",
"tslint": "~5.9.1",
"typescript": "^2.9.2"
}
}
5.运行npm start
6.如果您收到以下警告
./node_modules/@agm/core/fesm5/agm-core.js 中的警告 4538:120-128“在‘@angular/core’中找不到导出‘ɵɵinject’ ./node_modules/@agm/core/fesm5/agm-core.js 中的警告 4538:34-52“在‘@angular/core’中找不到导出‘ɵɵdefineInjectable’ i 「wdm」:编译时有警告。
8.保存更改后的文件
再次运行 npm start
会起作用的
谢谢大家