我在我的mac osx Mojave上有一个项目的开发环境。然而,由于内存RAM问题,我决定降级到ma osx High Sierra。现在,我正在尝试再次部署该项目,但我面临以下问题
node_modules/@types/lodash/common/object.d.ts(1689,12): error TS2304: Cannot find name 'Exclude'.
1689 ): Exclude<TObject[TKey], undefined> | TDefault;这是试图编译这一部分的脚本的一部分:tsc ./src/app/+charts/index.ts --outFile ./shared/charts.js --module amd --pretty。因此,它使用全局Typescript来编译它。我已经全局安装了3.4、2.6和2.8版本,但在所有这些版本中,我都得到了相同的错误。此外,此项目的正确节点版本是8,因此我使用8.16.0 (这是我在格式化计算机之前使用的版本)。
这是我的package.json
"dependencies": {
"@angular/animations": "^5.2.0",
"@angular/cdk": "^5.1.0",
"@angular/common": "^5.2.0",
"@angular/compiler": "^5.2.0",
"@angular/core": "^5.2.0",
"@angular/forms": "^5.2.0",
"@angular/http": "^5.2.0",
"@angular/material": "^5.1.0",
"@angular/platform-browser": "^5.2.0",
"@angular/platform-browser-dynamic": "^5.2.0",
"@angular/platform-server": "^5.2.0",
"@angular/router": "^5.2.0",
"@covalent/core": "1.0.0",
"@covalent/dynamic-forms": "1.0.0",
"@covalent/highlight": "1.0.0",
"@covalent/http": "1.0.0",
"@covalent/markdown": "1.0.0",
"@covalent/text-editor": "1.0.0",
"@ngx-translate/core": "^8.0.0",
"@ngx-translate/http-loader": "^2.0.0",
"@swimlane/ngx-charts": "^7.0.1",
"@types/d3": "^5.0.0",
"angular2-text-mask": "^9.0.0",
"core-js": "^2.4.1",
"cors": "^2.8.4",
"d3": "^4.9.0",
"d3-format": "^1.2.0",
"exceljs": "^0.5.1",
"hammerjs": "^2.0.8",
"highlight.js": "9.10.0",
"html-pdf": "^2.1.0",
"libphonenumber-js": "1.0.24",
"lodash": "^4.17.4",
"moment": "2.21.0",
"moment-range": "3.1.1",
"ngx-currency": "^1.1.2",
"nodemon": "^1.11.0",
"requirejs": "^2.3.6",
"rxjs": "^5.5.6",
"showdown": "1.6.4",
"web-animations-js": "2.2.5",
"webshot": "^0.18.0",
"zone.js": "^0.8.20"
},
"devDependencies": {
"@angular/cli": "^1.7.3",
"@angular/compiler-cli": "^5.2.0",
"@types/hammerjs": "2.0.30",
"@types/jasmine": "2.5.38",
"@types/lodash": "^4.14.110",
"@types/node": "~6.0.60",
"@types/selenium-webdriver": "2.53.36",
"codelyzer": "~4.0.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "3.2.0",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.0.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^0.3.0",
"karma-jasmine": "^1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-phantomjs-launcher": "^1.0.4",
"karma-remap-istanbul": "^0.6.0",
"karma-spec-reporter": "^0.0.31",
"phantomjs-prebuilt": "2.1.14",
"prepend-file": "^1.3.1",
"protractor": "~5.1.0",
"ts-node": "3.1.0",
"tslint": "^5.2.0",
"typescript": "~2.6.2",
"watch": "^1.0.2"
},我还尝试将行"@types/lodash": "^4.14.110",更改为"@types/lodash": "^4.14.121",,但也不起作用。而且,我不确定在package.json中改变一些东西是否有意义,因为在格式化我的计算机和降级OS之前,我已经让这个项目工作得很好了
那么,我在这里错过了什么?如果有任何帮助,我将不胜感激。提前感谢
发布于 2019-04-29 04:57:52
看起来像是@types/lodash的一个问题,你可以在这里查找这个问题:https://github.com/DefinitelyTyped/DefinitelyTyped/issues/33778
解决方案似乎是downgrade @types/lodash to
npm i -D @types/lodash@ts2.5typescript@~2.8https://stackoverflow.com/questions/55892925
复制相似问题