LoginSignup
1
1

More than 5 years have passed since last update.

Node 0.7.x で Express をインストールしないこと

Posted at

Node 0.7.x において npm install -g express すると Express 1.0.7 がインストールされてしまう.

現在 (2012-05-03),Express は 2.5.9 が最新版として出ていて,3.0.0 も alpha が出ている (参考 : http://search.npmjs.org/#/express) .そんな中で 1.0.7 がインストールされるというのはあまりにアレである.そしてそれがエラー無く動くのならともかくすぐにコケる.

express コマンドで何をやっても

node.js:256
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: The "sys" module is now called "util".
    at sys.js:1:69
    at NativeModule.compile (node.js:583:5)
    at Function.require (node.js:551:18)
    at Function._load (module.js:297:25)
    at Module.require (module.js:357:17)
    at require (module.js:373:17)
    at Object.<anonymous> (/****/node_modules/express/bin/express:8:11)
    at Module._compile (module.js:444:26)
    at Object..js (module.js:462:10)
    at Module.load (module.js:351:32)

とエラーが出る.

このエラー自体は Express 2.x で修正されている (参考 : https://github.com/visionmedia/express/issues/1025) らしい.

しかし,Express 2.x では Node 0.8.x に対応しない (参考 : https://github.com/visionmedia/express/issues/1004#issuecomment-3922956) らしい.

また,このエラー自体の原因は

Express.jsに対応したConnect.jsのバージョンがどうやらインストールされていないらしい。インストールしているExpress.jsのバージョンは1.0.7で、そのバージョンのExpress.jsが対応しているConnect.jsは0.5.10らしい。しかしnpmからインストールするとConnect.jsは1.0.1がインストールされてしまうためにエラーとなっている

(引用元 : http://my-clip-devdiary.blogspot.jp/2012_02_01_archive.html)

らしい.

しかし,そもそもなんで Node 0.7.x で Express 1.0.7 がインストールされることになるのかよく分かりません.(どなたか知っていればご教授下さい)

まぁ,なので Express をひとまず使ってみるなら今のところは Node 0.6.x を使いましょう.というか不必要に開発版を使うなってことですかね.Node 0.6.15 を使えば Express 2.5.8 が入って普通に使えました.

Node + Express の練習には http://qiita.com/items/ff21dfc0e53f52107b1a をどうぞ.

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