JavaScriptにおけるnpmの依存関係バージョン形式

package.jsonファイルでは、インストールされた パッケージのバージョンは様々な形式で 指定できます。架空のライブラリsomelibを例に、 これらの形式を学びましょう。

次の例では、正確なバージョン 2.4.2が必要です:

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

次の例では、2.4.2と互換性のある 最新バージョンが必要です:

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

次の例では、プロジェクトはバージョン 2.4.2、2.4.3、 2.4.4などで動作します:

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

次の例では、プロジェクトはバージョン 2.4、2.5、2.6 などで動作します:

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

次の例では、プロジェクトはバージョン 2.4の任意のパッチバージョンで 動作します:

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

次の例では、プロジェクトはバージョン 2の任意のマイナーバージョンで 動作します:

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

次の例では、プロジェクトはバージョン 2.4以上で動作します:

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

次の例では、プロジェクトは 2.4.2から3.1.1までの 任意のバージョンで動作します:

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