satococoa's blog

主にサーバーサイド、Web 系エンジニアのブログです。Go, Ruby, React, GCP, ...etc.

Node(Node.js)の環境を整えた

いよいよ4月、新年度が始まりました。
せっかくなので新しいことをやりたいと思い、Node(Node.js)の環境を整えてみました。

環境

まずはNode自身のインストール

とても簡単です。

$ brew install node

しばし待つと出来上がりです。

$ which node
/usr/local/bin/node
$ node -v
v0.4.5

npmのインストール

RubyでいうRubyGemsにあたる、パッケージマネジメントシステムです。
これはhomebrewでインストールするのではなく、公式の手順にしたがってインストールします。

$ curl http://npmjs.org/install.sh | sh

僕の環境では以下のようになりました。

$ which npm
/usr/local/bin/npm
$ npm -v
0.3.18

その後、NODE_PATHの設定をします。 (これをやらないとrequire()したときにパッケージが見つかりません。) 僕はzshを使っているので、.zshrcに以下を足しました。

export NODE_PATH=/usr/local/lib/node:$NODE_PATH

設定すべきパスは環境によって異なるかもしれません。 以下のコマンドで確認できます。

$ npm config get root
/usr/local/lib/node
npmの使い方メモ
$ npm help # ヘルプ
$ npm search <文字列> # 検索
$ npm install <パッケージ>
$ npm uninstall <パッケージ>
$ npm update
$ npm view <パッケージ> # パッケージの情報を見る
$ npm ls installed # インストールされているパッケージ一覧

とりあえずはこのくらい覚えておけば足りるかな。
bundleとか、気になるコマンドもあるけれど、おいおい勉強していきたい。

ハンズオンを試す

Node.js 日本ユーザグループからNode.js ハンズオンにリンクが貼られています。
とりあえず@mesoさんのハンズオンをひと通りやってみました。

expressというフレームワークを使ってチャットを作っているのですが、sinatraっぽくていいです。
Socket.ioを使ってリアルタイムの部分まで一気に作れてしまいますので、こないだ作ったTokyo Real-time Photosなんかは、もしかするとNodeで作るほうが簡単かも!?

JavaScript自体はクライアントサイドで慣れたものなので、今後はサーバーサイドやNode特有のものを学んでいきたいと思います。
同じく日本ユーザグループのサイトからリンクされている@yssk22さんのハンズオンやドキュメントを読むのが近道でしょうか。

ホスティング

RubyでいうherokuにあたるサービスはJoyent Nodeが有名みたいです。
とりあえず登録してみましたが、アプリを動かすためのサブドメインをもらうにはCoupon Codeが必要らしく、ただいまそれの発行待ちとなっています。

試してみたらまた書きたいと思います。