0

I'm new to Node and find myself needing to upgrade my package to enable web workers. I'm trying to upgrade my Angular from 6.x.x to 7.x.x then 8.x.x. When I try to install things it claims to work, then it doesn't.

For example, when I run:

~/projects-new/cirrus-bluecost-rules-client/client$ npm install --save @angular/core@7.2.16
npm WARN auth-lib@0.0.1 requires a peer of @angular/common@^6.0.0-rc.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN auth-lib@0.0.1 requires a peer of @angular/core@^6.0.0-rc.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.3.0 requires a peer of @angular/compiler@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.3.0 requires a peer of @angular/core@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.

+ @angular/core@7.2.16
updated 1 package and audited 1513 packages in 36.23s

40 packages are looking for funding
  run `npm fund` for details

found 103 vulnerabilities (8 low, 45 moderate, 48 high, 2 critical)
  run `npm audit fix` to fix them, or `npm audit` for details

Then check it with

~/projects-new/cirrus-bluecost-rules-client/client$ npm -v @angular/core
6.14.8

So why does it claim to work (by not giving me an error), then when I try to check the version, it didn't do what it claimed to have done?

Also, in the above request to install core, it has says it requires a peer of @angular/core@^6.0.0-rc.0.:

npm WARN auth-lib@0.0.1 requires a peer of @angular/core@^6.0.0-rc.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself.

But if I check the @angular/core package.json file:

~/projects-new/cirrus-bluecost-rules-client/client$ head node_modules/@angular/core/package.json
{
  "_from": "@angular/core@7.2.16",
  "_id": "@angular/core@7.2.16",
  "_inBundle": false,
  "_integrity": "sha512-z1RuBinuYeC4KLv8Z95YOgIQLd4nkoApdxkIZaWALwSkgeBuHJn4bCBn2cL0gJ/KO2x18TiTU5HuC+uyBt0AVQ==",
  "_location": "/@angular/core",
  "_phantomChildren": {},
  "_requested": {
    "type": "version",
    "registry": true,

It says it has version 7.2.16.

What do I not understand? Please note, if you have any familiarity with Maven, that makes more sense to me. There's one flat collection of packages and versions thereof. There is no nesting of packages, and much less redundancy. I don't fully understand Node dependencies, but I know it does not work the same as Maven, though it tries to do some of the same things.

Thanks, Woodsman

Woodsman
  • 901
  • 21
  • 61

1 Answers1

0

First of all, you miss something with the command:

$ npm -v @angular/core

It does not exist as you wrote. The result you have is the same as npm -v, which returns the version of your local npm: 6.4.18.

Then, warnings about peer dependencies indicate that the specified module has been developed for a specific version of Angular.

You may have runtime issues when you use different versions. Often the related dependencies have a newer version which is compatible with the last versions of Angular.

Some reading about:

Loïc
  • 560
  • 1
  • 3
  • 12