npm-update

I don't know what 'npm update' means


The document says: NPM checks to see if any software package has an updated version that meets the version limit. Will using this command (NPM update) cause conflicts with other dependent versions? Conflicts over version upgrades.


Solution

  • Consider usage of -g (global) flag to update global installed packages. Check how to configure the npm-update dependencies version upgrades below with Caret or Tilde. From Npm

    For the examples below, assume that the current package is app and it depends on dependencies, dep1 (dep2, .. etc.). The published versions of dep1 are:

    {
      "dist-tags": { "latest": "1.2.2" },
      "versions": [
        "1.2.2",
        "1.2.1",
        "1.2.0",
        "1.1.2",
        "1.1.1",
        "1.0.0",
        "0.4.1",
        "0.4.0",
        "0.2.0"
      ]
    }
    

    Caret Dependencies If app's package.json contains:

    "dependencies": {
      "dep1": "^1.1.1"
    }
    

    Then npm update will install dep1@1.2.2, because 1.2.2 is latest and 1.2.2 satisfies ^1.1.1.

    Tilde Dependencies However, if app's package.json contains:

    "dependencies": {
      "dep1": "~1.1.1"
    }
    

    In this case, running npm update will install dep1@1.1.2. Even though the latest tag points to 1.2.2, this version do not satisfy ~1.1.1, which is equivalent to >=1.1.1 <1.2.0. So the highest-sorting version that satisfies ~1.1.1 is used, which is 1.1.2.

    Caret Dependencies below 1.0.0 Suppose app has a caret dependency on a version below 1.0.0, for example:

    "dependencies": {
      "dep1": "^0.2.0"
    }
    

    npm update will install dep1@0.2.0, because there are no other versions which satisfy ^0.2.0.

    If the dependence were on ^0.4.0:

    "dependencies": {
      "dep1": "^0.4.0"
    }
    

    Then npm update will install dep1@0.4.1, because that is the highest-sorting version that satisfies ^0.4.0 (>= 0.4.0 <0.5.0)