LoginSignup
14
5

More than 5 years have passed since last update.

Azure Web Apps で最新 Node.js バージョンを使う

Posted at

さて、 Node.js 8.0.0 version が 2017-05-30 にリリースされました。
image.png

Azure Web Apps で早速使えるか試してみます。
該当のドキュメントはこの辺です。Azure アプリケーションでの Node.js のバージョンの指定

結論

Azure Web Apps で最新の v8.0.0 がすでに利用可能でした。
しかも、2017-05-30 のリリースから、3, 4日後に最新バージョンが利用可能になってます。

詳細

ドキュメント上では、Web App で Node.js のバージョンを指定する方法は下記の3つ。

  • 1. WEBSITE_NODE_DEFAULT_VERSION にデフォルトバージョンが指定されているので、それを目的のバージョンに設定&上書きする。
  • 2. package.json"engines":{"node":version} 部分に目的のバージョンを設定する。
  • 3. iisnode.yml で任意の node.exe を使う。

結果的に、2 の方法で一番簡単に実現できました。package.json 上で変更すると、デプロイ先が複数ある場合に(例:dev, test, staging, production)、想定外の設定忘れなどが無く、運用上良いかと思います。
検証するために、Node.js のコードは以下のような具合にバージョンを出力するようにしておきます。

index.js
var http = require('http');

var server = http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.end("Hello world on nodejs version " + process.version);
});

var port = process.env.PORT || 1337;
server.listen(port);
});

2017/06/06 の時点では、Web App デプロイ直後、環境変数
WEBSITE_NODE_DEFAULT_VERSION は、6.9.1 でした。
image.png

もしここで、package.json の engines に以下のように 6.9.1 以上、というように指定していると、最新バージョン v8.0.0 で実行されます。つまり、優先度は、package.json > 環境変数 WEBSITE_NODE_DEFAULT_VERSION のように動作しています。

package.json
    "engines": {
        "node": ">=6.9.1"
    }
output
Hello world on nodejs version v8.0.0

特定のランタイムバージョンを固定して利用したい場合は、以下でOKです。Web App もこの設定に追随します。

package.json
    "engines": {
        "node": "6.9.1"
    }
output
Hello world on nodejs version v6.9.1

ちなみに

Web App で利用可能なランタイムバージョンを調べるには、Kudu なりで、D:\Program Files (x86)\nodejs の下を確認すればOKです。

D:\Program Files (x86)\nodejs>ls -l | tail
drwxr-xr-x 1 Unknown+User Unknown+Group       0 Apr  2 00:17 7.3.0
drwxr-xr-x 1 Unknown+User Unknown+Group       0 Apr  2 00:17 7.4.0
drwxr-xr-x 1 Unknown+User Unknown+Group       0 Apr  2 00:17 7.5.0
drwxr-xr-x 1 Unknown+User Unknown+Group       0 Apr  2 00:17 7.6.0
drwxr-xr-x 1 Unknown+User Unknown+Group       0 Jun  2 21:12 7.7.4
drwxr-xr-x 1 Unknown+User Unknown+Group       0 Jun  2 21:11 8.0.0
-rwxr-xr-x 1 Unknown+User Unknown+Group 4699496 Jul 10  2012 node.exe
drwxr-xr-x 1 Unknown+User Unknown+Group       0 Apr  2 00:05 node_modules
-rwxr-xr-x 1 Unknown+User Unknown+Group     274 Jul 10  2012 npm
-rw-r--r-- 1 Unknown+User Unknown+Group     209 Jul 10  2012 npm.cmd

なんと、 Jun 2 21:11 8.0.0 !!!
2017/05/30 の最新 8.0.0 バージョンのリリースから、数日後(※コンソール出力のタイムゾーンはUTC)には利用できるようになっているではないですか。 最新バージョンをいち早く使いたい場合でも、数日待てば使えるのであれば、それほど心配は要らないですね。

14
5
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
14
5