さくらVPS(Debian)にnode.js入れてみた [node.js][npm][express][ejs]
【【【【 WARNING 】】】】
この記事は理解の浅いときに書かれたエントリです。
node,npm,expressのバージョンが異なるので、正しくインストールされないです。
あと、無駄にapacheのドキュメントルートで行ってます。
正しい記事はこちら
【問題】
前回記事までで(php)ウェブサーバとして整ったVPSに
今(今更?)話題のnode.jsをインストールしてみたい。
【目標】
node.jsをインストールする
npmで管理する
expressでプロジェクトをつくる
テンプレートエンジンはejs
【とりあえずの記録】
$ apt-get install sudo $ sudo apt-get install build-essential libssl-dev curl $ cd /var/www #ウェブドキュメントルート $ wget http://nodejs.org/dist/node-v0.4.12.tar.gz $ gzip -dc node-v0.4.12.tar.gz | tar xvf - $ cd node-v0.4.12 $ ./configure $ make $ sudo make install $ vi .npmrc 1 2 root = ~/.npm/libraries 3 binroot = ~/.npm/bin 4 manroot = ~/.npm/man 5 :wq $ curl http://npmjs.org/install.sh | sh $ cd /var/www/node-v0.4.12 $ npm -g install express $ npm -g install ejs
プロジェクトをつくっていく
$ cd /var/www/node-v0.4.12 $ express -t ejs testprojecthogehoge $ cd testprojecthogehoge $ node app.js
以下のように叱られる
node.js:134 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Cannot find module 'express' at Function._resolveFilename (module.js:326:11) at Function._load (module.js:271:25) at require (module.js:355:19) at Object. (/var/www/node-v0.4.12/huga/app.js:6:15) at Module._compile (module.js:411:26) at Object..js (module.js:417:10) at Module.load (module.js:343:31) at Function._load (module.js:302:12) at Array. (module.js:430:10) at EventEmitter._tickCallback (node.js:126:26)
なので、しょーがないから
$ cd testprojecthogehoge $ npm install express
として
$ node app.js Express server listening on port 3000 in development mode
となって動いてるようなので、
http://[ぼくのどめいん名]:3000 に訪問すると、ブラウザ上で
Express 500 Error: Cannot find module 'ejs'
と叱られる。しょーがないから
$ cd testprojecthogehoge $ npm install ejs
として、もう一回
$ node app.js
をすると、ブラウザ上で
Express Welcome to Express
というリアクションが得られて、とりあえずほっとした
【雑感】
・ -g してるのになんで毎回プロジェクトディレクトリの中でinstallせにゃならんのか
・ build-essentialとか、libssl-devが何なのか、未だ不明
・ makeコマンドって何ぞ