Formatos de versão de dependências no npm em JavaScript

No arquivo package.json, as versões dos pacotes instalados podem ser especificadas em vários formatos. Vamos estudar esses formatos usando como exemplo a biblioteca imaginária somelib.

No exemplo a seguir, é exigida a versão exata 2.4.2:

package.json{
  "dependencies": {
    "somelib": "2.4.2"
  }
}

No exemplo a seguir, é exigida a versão mais recente compatível com 2.4.2:

package.json{
  "dependencies": {
    "somelib": "^2.4.2"
  }
}

No exemplo a seguir, o projeto funciona com as versões 2.4.2, 2.4.3, 2.4.4 e assim por diante:

package.json{
  "dependencies": {
    "somelib": "~2.4.2"
  }
}

No exemplo a seguir, o projeto funciona com as versões 2.4, 2.5, 2.6 e assim por diante:

package.json{
  "dependencies": {
    "somelib": "~2.4"
  }
}

No exemplo a seguir, o projeto funciona com qualquer versão de patch do pacote 2.4:

package.json{
  "dependencies": {
    "somelib": "2.4.x"
  }
}

No exemplo a seguir, o projeto funciona com qualquer versão minor da versão 2:

package.json{
  "dependencies": {
    "somelib": "2.x"
  }
}

No exemplo a seguir, o projeto funciona com a versão 2.4 ou superior:

package.json{
  "dependencies": {
    "somelib": ">=2.4"
  }
}

No exemplo a seguir, o projeto funciona com qualquer versão no intervalo de 2.4.2 a 3.1.1:

package.json{
  "dependencies": {
    "somelib": "2.4.2 3.1.1"
  }
}