Node.jsでパッケージのバージョンを固定する方法
package.jsonのdependencies、devDependenciesに記述されるバージョンは
上記の仕様で記述されます
なので、環境(インストールするタイミング等)によってバージョンが異なってしまうことがよくあります
バージョンを固定する方法
shrinkwrap
npm shrinkwrap
パッケージを install した後に上記コマンドを叩く
そうするとnpm-shrinkwrap.jsonというファイルが作成され、npm install
した時に
ここに記述されているバージョンでインストールされる
exact
npm install パッケージ名 [--save|--save-dev] [--exact|-E]
インストール時に「--exact|-E」を指定する
そうすると、package.jsonに下記のように記述されるのでバージョンが固定されます
(チルダやキャレットが付かないので)
"パッケージ名": "0.1.6"
まとめ
どちらの方法でバージョン固定できますが、「exact」の方が別ファイルが作られないのでいいかも