./node_modules/@types/lodash/common/object.d.ts (1689,12): не удается найти имя «Исключить» - PullRequest
0 голосов
/ 28 апреля 2019

У меня была среда разработки проекта, работающего на моем Mac OSX Mojave. Однако из-за проблем с оперативной памятью я решил перейти на 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 (это была версия, которую я использовал до форматирования компьютера).

Это мой пакет. 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, так как этот проект работал нормально, прежде чем я отформатировал свой компьютер и понизил версию ОС

Итак, что мне здесь не хватает? Буду признателен за любую помощь. Заранее спасибо

1 Ответ

0 голосов
/ 28 апреля 2019

Кажется, что проблема с @types/lodash, вы можете посмотреть проблему здесь: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/33778

Решение, кажется, заключается в понижении @types/lodash до

npm i -D @types/lodash@ts2.5

или обновление машинописи

typescript@~2.8
...