NPM - 无法从 lodash 库中找到名称 'Many' 和命名空间“_”

NPM - Cannot find name 'Many' and Cannot find namespace '_' from lodash library

我正在尝试在我的 angular2 项目中使用 lodash。

$ npm install --save lodash

$ npm install --save @types/lodash

我在安装 lodash 时收到了这条警告消息

这一个是针对类型的

我忽略了那些警告信息并继续。现在在我的组件中,我添加了这一行..

import * as _ from 'lodash';

当应用程序开始编译时,我在控制台中收到以下错误:

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:244:12
Duplicate identifier '_'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:244:15
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:246:24
Cannot find name 'Partial'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:248:18
Duplicate identifier '_'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:366:38
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:2083:23
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5585:43
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5592:43
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5599:43
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5606:43
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5639:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5648:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5655:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5662:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5671:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5678:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5685:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5694:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5701:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5708:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5717:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5724:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:5731:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:8
A computed property name must be of type 'string', 'number', 'symbol', or 'any'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:9
Cannot find name 'P'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:14
Cannot find name 'keyof'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:20
']' expected.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:20
Cannot find name 'T'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:21
';' expected.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:22
Declaration or statement expected.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:25
A parameter initializer is only allowed in a function or constructor implementation.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:30
Cannot find name 'T'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:32
']' expected.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:33
')' expected.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:34
Declaration or statement expected.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:36
Declaration or statement expected.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11444:39
Cannot find name 'boolean'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11453:28
Cannot find name 'ConformsPredicateObject'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:11464:41
Cannot find name 'ConformsPredicateObject'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15394:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15403:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15436:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15445:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15480:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15489:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15522:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15531:11
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15564:21
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15571:21
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15604:23
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15611:23
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15627:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15636:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15646:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15656:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15666:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15676:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15686:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15696:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15731:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15739:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15746:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15778:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15786:20
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15793:20
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15856:20
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15856:36
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:15872:20
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16533:32
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16543:32
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16553:32
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16622:32
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16631:32
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16640:32
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16700:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16709:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16719:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16729:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16739:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16749:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16759:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16769:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16788:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16797:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16806:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16816:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16824:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16834:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16842:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16864:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16874:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16884:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16895:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16904:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16915:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:16924:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17081:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17089:20
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17096:20
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17112:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17121:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17130:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17139:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17149:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17157:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17167:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17175:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:17926:38
Cannot find name 'TemplateSettings'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18546:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18554:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18676:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18684:18
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18693:46
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18702:46
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18818:30
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18855:42
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18862:42
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18869:42
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18876:42
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18883:42
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18895:39
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18902:39
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18909:39
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18916:39
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18923:39
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18935:38
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18942:38
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18949:38
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18956:38
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18963:38
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:18974:38
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:19014:52
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:19021:57
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:19028:57
Cannot find name 'Many'.

    ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:19188:21
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:19212:21
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:19235:22
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:19258:22
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:19281:20
Cannot find namespace '_'.

ERROR in [default] /path/to/project/node_modules/@types/lodash/index.d.ts:19441:0
Declaration or statement expected.

package.json

{
  "name": "final-project",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "start": "ng serve",
    "lint": "tslint \"src/**/*.ts\"",
    "test": "ng test",
    "pree2e": "webdriver-manager update",
    "e2e": "protractor",
    "populate-db": "./node_modules/.bin/ts-node ./populate-db.ts",
    "batch-server": "./node_modules/.bin/ts-node ./batch-server.ts"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "2.0.1",
    "@angular/compiler": "2.0.1",
    "@angular/core": "2.0.1",
    "@angular/forms": "2.0.1",
    "@angular/http": "2.0.1",
    "@angular/platform-browser": "2.0.1",
    "@angular/platform-browser-dynamic": "2.0.1",
    "@angular/router": "3.0.0",
    "@types/lodash": "^4.14.52",
    "@types/request": "0.0.30",
    "angularfire2": "^2.0.0-beta.8",
    "core-js": "^2.4.0",
    "firebase": "^3.6.9",
    "firebase-queue": "^1.5.0",
    "lodash": "^4.17.4",
    "rxjs": "5.0.0-beta.12",
    "ts-helpers": "^1.1.1",
    "zone.js": "^0.6.21"
  },
  "devDependencies": {
    "@types/jasmine": "^2.2.30",
    "angular-cli": "1.0.0-beta.16",
    "codelyzer": "~0.0.26",
    "jasmine-core": "2.4.1",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "0.13.22",
    "karma-chrome-launcher": "0.2.3",
    "karma-jasmine": "0.3.8",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "4.0.3",
    "ts-node": "^1.2.1",
    "tslint": "3.13.0",
    "typescript": "2.0.10"
  }
}

我是不是漏掉了什么?我需要满足 PEER DEPENDENCIES 吗?怎么样?

我遇到了同样的问题,在谷歌搜索后我发现了这条评论 https://github.com/driftyco/ionic-app-scripts/issues/700#issuecomment-276684485。安装 typescript 2.0 兼容类型为我解决了这个问题。在你的 package.json.

中使用 "@types/lodash": "ts2.0"

最新的 lodash 使用 typescript 2.1,它现在与仍然使用 ts 2.0 的 ionic 不兼容。正如你在我使用的 package.json 文件中看到的那样

"typescript": "2.0.10"

因此,如果您使用的是与我相同的版本并且最终出现相同的错误,只需安装

$ npm install --save lodash

并将其添加到您的 package.json 文件中的 dependencies

"dependencies": {
    ...
    "@types/lodash": "ts2.0"
}

$ npm install

您现在可以导入

import * as _ from "lodash";