特定のバージョンの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
最後までお読みくださりありがとうございました。Twitterでは、Qiitaに書かない技術ネタなどもツイートしているので、よかったらフォローお願いします→Twitter@suin