読者です 読者をやめる 読者になる 読者になる

Homebrewでnode.jsアップグレード--with-intl=full-icuに毎回時間がかかるので、full-icu-npmを使ってみた

brewでnodeのインストール時 brew install node

Please note by default only English locale support is provided. If you need
full locale support you should:
  `brew reinstall node --with-full-icu`

--with-full-icu指定すると、ECMAScript 国際化APIで日本語使えてよいのですが、インストール後も、nodeのアップデートのたびにソースからビルドされて時間がかかってしまいます...。
どうしたものかと思っていたら、
github.com なるものを見つけました。 nodeを--with-full-icuビルドしなくても、npmをインストールしておいて、環境変数指定すれば、icu使えます。

npm install full-icu -g

すると、このとき表示される

Node will use this ICU datafile if the environment variable NODE_ICU_DATA is set to “/usr/local/lib/node_modules/full-icu”
or with node --icu-data-dir=/usr/local/lib/node_modules/full-icu YOURAPP.js
 For package.json:
{"scripts":{"start":"node --icu-data-dir=/usr/local/lib/node_modules/full-icu YOURAPP.js"}}

に従って、

export NODE_ICU_DATA=/usr/local/lib/node_modules/full-icu/

これをしておくと、brewでnodeインストールするときは--with-full-icuを付けないでおいても、icu使えるようになりました。

var date = new Date(Date.UTC(2016, 7, 20, 3, 0, 0));
console.log(new Intl.DateTimeFormat('ja-JP-u-ca-japanese').format(date));
平成28/8/20