LoginSignup
1
2

More than 5 years have passed since last update.

Nodeやnpmのバージョンを実行前にチェックする

Last updated at Posted at 2019-01-16

Nodeやnpmのバージョンが異なる複数のプロジェクトを開発していると、たまに切り替え忘れたりして、ビルドが通らなかったりして焦ることがありますよね。
そんなときは実行前にNodeやnpmのバージョンを確認してしまいましょう。

check-engines

check-enginesを使うと事前にチェックできます。
さっそくインストールしましょう。

$npm install --save-dev check-engines

インストール後のpackage.json

package.json
"devDependencies": {
  "check-engines": "^1.5.0",
}

enginesを定義

実行するまえにpackage.jsonにenginesを定義しましょう。
ここにこのプロジェクトのNodeとnpmのバージョンを記載します。

package.json
"engines": {
    "node": "10.0.0",
    "npm": "5.6.0"
},

実行前のチェック

Node実行前にチェックする処理を入れます。

const checkEngines = require('check-engines');
const process = require('process');
// package.jsonのenginesのバージョンをチェック
checkEngines(err => {
  if (err) {
    process.exit(0);
  }
});

チェックがNGだった場合はerrにエラー情報が入ってくるので、エラーの場合はNodeを終了しています。
https://qiita.com/kyosuke5_20/items/0e36c168d36eef29c23a
こちらと組み合わせて失敗時にはデスクトップ通知してみましょう。

const checkEngines = require('check-engines');
const notifier = require('node-notifier');
const process = require('process');
// package.jsonのenginesのバージョンをチェック
checkEngines(err => {
  if (err) {
    notifier.notify({
      title: '実行エラー',
      message: err.message,
    });
    process.exit(0);
  }
});

これでバージョンチェックが完了です!

1
2
0

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
1
2