Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
79
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

Organization

package.jsonに"engines"を設定すると「このバージョンのNode.jsでしか動かない」を表明できる

特定のバージョンのNode.jsでしか動かしてほしくないパッケージがある場合、package.jsonのenginesフィールドに、Node.jsのバージョンを明記しておくと、yarn installnpm 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すると、エラーを起こすことができる:

Hyper.png

NPMの場合は、--engine-strictオプションが必要

npm installで同様の警告を起こすためには、--engine-strictオプションをもたせる必要がある。

Hyper.png

毎回指定するのは面倒なので、.npmrcに設定しておくといい:

~/.npmrc
engine-strict=true

最後までお読みくださりありがとうございました。Twitterでは、Qiitaに書かない技術ネタなどもツイートしているので、よかったらフォローお願いします:relieved:Twitter@suin

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
79
Help us understand the problem. What are the problem?