【Node.js】sysにエラーが出たらutilに変更してみると解決
node.jsは今後デファクトスタンダード化するんかわかりませんが、面白いのでちょいちょい勉強しています。まだバージョンが1に満たしていないので、node.jsとmoduleのバージョンで使い方が色々違ったりしています。先人の知恵がたくさんあり、とてもありがたいことなんですが、情報が古かったりそのまま使えなかったりしたもので、自分で解決できたものをメモ代わりに書いていきたいと思います。
sysからutilに変更
該当のファイルを「example.js」というのがあったと例えて話を進めます。サーバーを起動してみたら下記のエラーが出ました。
$ node example.js
The "sys" module is now called "util". It should have a similar interface.
「The “sys” module is now called “util”. It should have a similar interface.」ここがエラーの文字ですね。sysモジュールは、今はutilというモジュールを使ってます。って書いてる雰囲気ですw まずはnode.jsのバージョンを調べてみましょう。
$ node -v \[/ps\]
これでエンターを押すと、インストールされているnode.jsのバージョンが表示されます。ちなみに僕はv0.6.18と表示しました。
$ node -v v0.6.18
なんでsysが使えないと出たかというと、node.js v0.3.x以降は、sysモジュールからutilモジュールに変更になったみたい?というのが理由です。なので、サンプルを公開してくれているサイトに、例えば下記のようなScriptが書いてあったら、utilに変更するとうごくかもしれません。
//sysモジュールを要求するスクリプト var sys = require('sys');
var変数名は、うーん、、とりあえず動くのを試すだけであればこのままでもいいかも。。^^;
//sysをutilに変更 var sys = require('util');
こうですね。これでおそらく動くと思います。
$ node example.js
サーバーを起動してみましょう。どうでしょうか。動きましたか?
http://nodejs.jp/nodejs.org_ja/docs/v0.4/api/util.html
The “sys” module is now called “util”. It should have a similar interface.