使用全局安装的@ angular / core而不是本地

时间:2019-08-01 11:43:48

标签: javascript node.js angular npm

因此我安装了@angular/core模块作为全局NPM依赖项。我希望我所有的Angular项目都使用该版本。

不幸的是,似乎Angular不喜欢它。每次我在项目根目录中运行npm start时,都会遇到以下错误:

[user@host]$ npm start
...
ERROR in Could not resolve module @angular/core

我已经通过多种方式搜索了该错误,并发现tsconfig.json文件可能在某种程度上已损坏。因此,我已将baseUrl更改为npm root -g目录,但是随后出现另一个错误:

[user@host]$ npm start
...
ERROR in No NgModule metadata found for 'AppModule'

更有意思的是,当我运行ng version时,我会看到奇怪的Angular: undefined条目:

$ ng version

Angular CLI: 7.3.9
Node: 10.16.0
OS: linux x64
Angular: undefined
... 

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.13.9 (cli-only)
@angular-devkit/core         7.3.9 (cli-only)
@angular-devkit/schematics   7.3.9 (cli-only)
@schematics/angular          7.3.9 (cli-only)
@schematics/update           0.13.9 (cli-only)

因此,如您所见,也没有@angular/core条目。这很奇怪,因为e.x. @angular-devkit/core也是全局安装的,为什么在地球上@angular/core无法被识别?当我在本地安装Angular时,一切正常。

1 个答案:

答案 0 :(得分:0)

所以我已经通过“作弊”解决了。我利用了以下事实:我使用Linux OS,并创建了指向全局node_modules文件夹的符号链接,现在Angular认为一切就绪:

$ ln -s /home/user/.nvm/versions/node/v10.15.3/lib/node_modules node_modules