Node.js 超初心者勉強会 in 大阪に行ってきました
nodebrew を使ってnode.jsの設定、node.jsのMVCフレームワーク(厳密にはMVCではない)expressの設定、
簡単のプログラムを実際に動かすまでをワークショプ形式で行う勉強会でした
僕は事前にvagrantで環境を構築していったのですが、nodebrew の設定は行っていませんでしたので、@kamiyam先生の
進めるワークショップにそって、nodebreの設定をvagrant(linux / ubuntu)に設定を行いました
以下設定のログと最後に勉強会の感想を書きます
vagrant の設定
box の設定
vagrant 配っている Ubuntu lucid 64(http://files.vagrantup.com/lucid64.box)を使用
$ vagrant box add ubuntu http://files.vagrantup.com/lucid64.box
vagrant を初期化
適当なディレクトリに移動、ここでは「Users/[username]/Sites/node_test/」で作業をすすめます
$ cd Users/[username]/Sites/node_test/ $ vagrant init ubuntu
ブラウザからアクセスできるようにipアドレスがふられるようにする
「vagarant init」を行った場所にVagrantfileが作成されているかと思います
$ vim Vagrantfile config.vm.network :private_network, ip: "192.168.33.10"
上記がコメントアウトされているのでコメントを外す、設定するipは「192.168.33.10」以外でも問題はないかと思います
仮想サーバを軌道
$ vagrant up
これで仮想サーバが軌道すると思います
仮想サーバにログイン
$ vagrant ssh
仮想サーバにログインしていると思います
これでvagrant の準備は完了です
nodebrewの設定
基本的には以下のgithubのページにすべて書かれています
軌道したての仮想環境(以下ubuntu)にはcurlが入っていませんでしたので、上記のページ書かれてcurlを使わない方法でinstall
download and setup
$ wget git.io/nodebrew $ perl nodebrew setup
.bashrc にパスの設定を追加
$ vi ~/.bashrc export PATH=$HOME/.nodebrew/current/bin:$PATH
.bashrcに追加した設定を反映
$ source ~/.bashrc
nodebrew の確認
これでinstall は完了しているはずなので確認、下記が表示されればOK
$ nodebrew --help nodebrew 0.6.2 Usage: nodebrew help Show this message nodebrew install <version> Download and install a <version> (compile from source) nodebrew install-binary <version> Download and install a <version> (binary file) nodebrew uninstall <version> Uninstall a version nodebrew use <version> Use <version> nodebrew list List installed versions nodebrew ls Alias for `list` nodebrew ls-remote List remote versions nodebrew ls-all List remote and installed versions nodebrew alias <key> <version> Set alias to version nodebrew unalias <key> Remove alias nodebrew clean <version> | all Remove source file nodebrew selfupdate Update nodebrew nodebrew migrate-package <version> Install global NPM packages contained in <version> to current version Example: nodebrew install v0.6.0 Install a specific version number nodebrew use v0.6.0 Use a specific version number
node.jsのinstall
nodebrewでnode.jsをinstall する場合2種類の方法でinstallする事ができます、一つはsourceからコンパイルする方法と、コンパイル済みのバイナリをinstallする方法です
軌道したてのubuntuにはmakeが設定されていなかったので、sourceからのインストールではなく、バイナリからinstallします
install 可能なバージョンの確認
$ nodebrew ls-remote v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6 v0.1.0 v0.1.1 v0.1.2 v0.1.3 v0.1.4 v0.1.5 v0.1.6 v0.1.7 v0.1.8 v0.1.9 v0.1.10 v0.1.11 v0.1.12 v0.1.13 v0.1.14 v0.1.15 v0.1.16 v0.1.17 v0.1.18 v0.1.19 v0.1.20 v0.1.21 v0.1.22 v0.1.23 v0.1.24 v0.1.25 v0.1.26 v0.1.27 v0.1.28 v0.1.29 v0.1.30 v0.1.31 v0.1.32 v0.1.33 v0.1.90 v0.1.91 v0.1.92 v0.1.93 v0.1.94 v0.1.95 v0.1.96 v0.1.97 v0.1.98 v0.1.99 v0.1.100 v0.1.101 v0.1.102 v0.1.103 v0.1.104 v0.2.0 v0.2.1 v0.2.2 v0.2.3 v0.2.4 v0.2.5 v0.2.6 v0.3.0 v0.3.1 v0.3.2 v0.3.3 v0.3.4 v0.3.5 v0.3.6 v0.3.7 v0.3.8 v0.4.0 v0.4.1 v0.4.2 v0.4.3 v0.4.4 v0.4.5 v0.4.6 v0.4.7 v0.4.8 v0.4.9 v0.4.10 v0.4.11 v0.4.12 v0.5.0 v0.5.1 v0.5.2 v0.5.3 v0.5.4 v0.5.5 v0.5.6 v0.5.7 v0.5.8 v0.5.9 v0.5.10 v0.6.0 v0.6.1 v0.6.2 v0.6.3 v0.6.4 v0.6.5 v0.6.6 v0.6.7 v0.6.8 v0.6.9 v0.6.10 v0.6.11 v0.6.12 v0.6.13 v0.6.14 v0.6.15 v0.6.16 v0.6.17 v0.6.18 v0.6.19 v0.6.20 v0.6.21 v0.7.0 v0.7.1 v0.7.2 v0.7.3 v0.7.4 v0.7.5 v0.7.6 v0.7.7 v0.7.8 v0.7.9 v0.7.10 v0.7.11 v0.7.12 v0.8.0 v0.8.1 v0.8.2 v0.8.3 v0.8.4 v0.8.5 v0.8.6 v0.8.7 v0.8.8 v0.8.9 v0.8.10 v0.8.11 v0.8.12 v0.8.13 v0.8.14 v0.8.15 v0.8.16 v0.8.17 v0.8.18 v0.8.19 v0.8.20 v0.8.21 v0.8.22 v0.8.23 v0.9.0 v0.9.1 v0.9.2 v0.9.3 v0.9.4 v0.9.5 v0.9.6 v0.9.7 v0.9.8 v0.9.9 v0.9.10 v0.9.11 v0.9.12 v0.10.0 v0.10.1 v0.10.2 v0.10.3 v0.10.4 v0.10.5 v0.10.6 v0.10.7 v0.10.8 v0.11.0 v0.11.1 v0.11.2
install する
安定版の最新は「v0.10.8」なので今回はそれをinstallする
$ nodebrew install-binary v0.10.8 fetch: http://nodejs.org/dist/v0.10.7/node-v0.10.8-linux-x64.tar.gz --2013-05-27 16:27:13-- http://nodejs.org/dist/v0.10.8/node-v0.10.8-linux-x64.tar.gz Resolving nodejs.org... 165.225.133.150 Connecting to nodejs.org|165.225.133.150|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 5279340 (5.0M) [application/octet-stream] Saving to: `/home/vagrant/.nodebrew/src/v0.10.8/node-v0.10.8-linux-x64.tar.gz' 100%[=================================================================================================================================>] 5,279,340 1. 19M/s in 5.7s 2013-05-27 16:27:19 (901 KB/s) - `/home/vagrant/.nodebrew/src/v0.10.8/node-v0.10.8-linux-x64.tar.gz' saved [5279340/5279340] install success
これでinstall完了です
install されているnode.jsのどのバージョンをつかうかを指定する
installされているバージョンの確認
$ nodebrew ls v0.10.2 v0.10.7 v0.10.8
使用するバージョンを指定する
$ nodebrew use v0.10.8 use v0.10.8
確認
$ node -v v0.10.8
上記の表示がされればバージョンは変更されています
hello node.jsを表示させてみる
ファイルの編集はubuntuではなくmacで行う
$ cd Users/[username]/Sites/node_test/
$ mkdir node
$ vim node/app.js
ip addressを「192.168.33.10」に設定している
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello node.js\n');
}).listen(1337, "192.168.33.10");
console.log('Server running at http://192.168.33.10/');
今回はlocalhost上のnode.jsではなく仮想サーバ上のubuntuに設定したnode.jsを動かすため、上記のように設定しています
「vagrant up」を行ったディレクトリは軌道した仮想サーバの「/vagrant」ディレクトリにマウントされます
ローカルマシン
$ cd cd Users/[username]/Sites/node_test/
$ ls -la
drwxr-xr-x 3 user staff 102 5 25 10:11 .vagrant
-rw-r--r-- 1 user staff 4341 5 25 11:08 Vagrantfile
drwxr-xr-x 3 user staff 102 5 25 11:26 node
仮想サーバ(ubuntu)
$ cd /vagrant
$ ls -la
drwxr-xr-x 1 vagrant vagrant 102 May 25 03:11 .vagrant
-rw-r--r-- 1 vagrant vagrant 4341 May 25 04:08 Vagrantfile
drwxr-xr-x 1 vagrant vagrant 102 May 25 04:26 node
仮想サーバではuser/group がvagrantになります
仮想サーバ上で以下のコマンドを実行
$ cd node
$ node app.js
ローカルマシンのブラウザから「http://192.168.33.10:1337」にアクセス以下の画面が表示されればOKです
expressの設定
node.js のフレームワークの1つであるexpressを設定
※以下仮想環境のubuntuで行う
install
globalにinstallを行う、「-g」オプションをつけるとグローバル環境に設定を行う
$ npm install -g express
version の確認
install されたexpressのバージョンを確認
$ $ express --version 3.2.5
expressでアプリケーションのひな形を生成
$ express [アプリケーション名] create : express create : express/package.json create : express/app.js create : express/routes create : express/routes/index.js create : express/routes/user.js create : express/views create : express/views/layout.jade create : express/views/index.jade create : express/public create : express/public/stylesheets create : express/public/stylesheets/style.css create : express/public/images create : express/public/javascripts install dependencies: $ cd express && npm install run the app: $ node app
必要なモジュールのダウンロードを行う
$ cd [アプリケーション名] $ npm install
package.jsonに書かれている内容の設定を行う
expressの生成したプロジェクトを軌道してみる
$ node app.js Express server listening on port 3000
ブラウザでアクセスしてみる
今回は設定されているportが3000なので以下のURLにアクセスする
http://192.168.33.10:3000/
とりあえずここまで、実際n勉強会ではテンプレートエンジンの話しがありましたが、ここでは割愛します
実際に使ってみて、改めてエントリーします
また、午後には行けてないんですが、Sails.jsについても気になります、ruby on railsライクなフレームワークらしいのでとっつきやすい気がします
是非次回も参加したと思える勉強会でした、やっぱり発表形式の勉強会もよいですが、実際に手を動かす勉強会が楽しいです
今後もそういった勉強会には参加したいです
@kamiyam先生ありがとうございました