特定のバージョンのNode.jsでしか動かしてほしくないパッケージがある場合、package.jsonのengines
フィールドに、Node.jsのバージョンを明記しておくと、yarn install
やnpm install
したときに警告を表示できるようになる。
- 実行環境のバージョンを固定したいときに便利。
例: Node.js 12だけに限定したい場合
例えば、Node.js 12で実行してほしい場合、次のようにengines
フィールドをpackage.jsonに追加する:
package.json
{"name":"my-module","version":"1.0.0","main":"index.js","license":"MIT","engines":{"node":"12.x"}}
この設定で、Node.js 13環境下でyarn install
すると、エラーを起こすことができる:
NPMの場合は、--engine-strict
オプションが必要
npm install
で同様の警告を起こすためには、--engine-strict
オプションをもたせる必要がある。
毎回指定するのは面倒なので、.npmrcに設定しておくといい:
~/.npmrc
engine-strict=true