182
139

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【いまさらですが】package.jsonのversion指定

Last updated at Posted at 2017-07-28

package.jsonのdependenciesdevDependenciesに依存するパッケージを指定することができます。
いまさらですが、そのパッケージのversionの指定方法についてまとめます。

##version
指定したversionと正確に一致するバージョンがインストールされます。

{
  "dependencies": {
    "foo": "1.0.0"
  }
}

上記の場合は、1.0.0のバージョンがインストールされます。

##>version
指定したversionより大きいバージョンがインストールされます。

{
  "dependencies": {
    "foo": ">1.0.0"
  }
}

上記の場合は、1.0.0より大きいバージョンがインストールされます。
また、<>=<=の比較演算子を使用した場合も、その比較演算子が持つ意味通りのバージョンがインストールされます。

##version1 - version2
範囲指定を行なうことができます。
version1 - version2と表記すると、>=version1 <=version2と同じ意味となります。

{
  "dependencies": {
    "foo": "1.0.1 - 1.2.0"
  }
}

上記の場合は、1.1.0以上、1.2.0以下のバージョンがインストールされます。

##X, *
X(もしくはx)や*をワイルドカードとして使うことができます。

{
  "dependencies": {
    "foo": "*",     // どんなバージョンでもOK
    "bar": "1.1.x", // >=1.1.0 and <1.2.0 
    "hoge": "1.X",  // >=1.0.0 and <2.0.0
    "huga": ""      // "*"と同じことになる = どんなバージョンでもOK
  }
}

4番目のhugaパッケージのように、バージョンを何も指定しないと、"*"の場合と同じ意味となります。

##~version
Tilde(チルダ)記号を用いたときです。
versionのうち、minorバージョンが明記されている場合はpatchバージョン部分の更新ができ、そうでない場合はminorバージョンの更新がされます。
(バージョンの構成は major.minor.patch となっています。)

{
  "dependencies": {
    "foo": "~1.1.1",  // >=1.1.1 and <1.2.0
    "bar": "~1.1",    // >=1.1.0 and <1.2.0
    "hoge": "~1"      // >=1.1.0 and <2.0.0
  }
}

##^version
Caret(キャレット)記号を用いたときです。
major.minor.patchのうち、一番左の0以外の数字のバージョンを更新しないような、更新が可能です。

{
  "dependencies": {
    "foo": "^1.1.1",  // >=1.1.1 and <2.0.0
    "bar": "^0.1.1",    // >=0.1.1 and <0.2.0
    "hoge": "^0.0.1"      // >=0.0.1 and <0.0.2
  }
}

###公式サイト

182
139
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
182
139

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?