node.jsはバージョンの違いで、expressやsocket.ioが使えなかったりします。またこれらのバージョンもしかりです。その度にnode.jsのバージョンの上げ下げを実行するのは手間がかかります。そこで、コマンド1つでnode.jsのバージョンを切り替えることができる、Node Version Managerのnvmというのを使います。さらにこのnvmが便利なのは、npm(Node Packege Manager)のパスも通るので、node.jsのバージョンを切り替えた後も楽です。今回は簡単にnvmのインストールの方法から、設定と使い方まで紹介します。 nvmをインストールする インストールにはgitを使います。 $ git clone git://github.com/creationix/nvm.git ~/.nvm git便利ですね。 nvmコマンドを使えるようにしておく $ source ~/.nvm/nvm.sh $ nvm version v0.8.4 この1行目を実行しておかないと、nvmコマンドが使えません。versionはv0.8.4がインストールされているのがわかりました。 node.jsのバージョンをインストールする $ nvm install v0.6.11 インストールには時間が多少かかるので待ちます。 $ nvm use v0.6.11 $ nvm alias default v0.6.11 $ node -v v0.6.11 node.jsのバージョンが切り替わりましたね。もう1つ、2012年7月31日時点での安定版、v0.8.4をインストールしてみましょう。 $ nvm install v0.8.4 //待ちます。 $ nvm use v0.8,4 $ nvm ls v0.6.11 v0.8.4 current: v0.8.4 default -> v0.6.11 lsを使うと、nvmでインストールされたバージョンの一覧が表示されます。currentは現在使っているバージョンです。defaultはそのままでデフォルトで使われるバージョンです。つまり、ターミナルを閉じたりログアウトすると、defaultのバージョンに戻ります。デフォルトで使うnode.jsのバージョンをv0.8.4にしてみましょう。 $ nvm alias default v0.

続きを読む

node.js勉強中です。先人の知恵さまのサイトを見る日々が続きます。色んなサンプルサイトで使われいているexpress。雛形を作成してくれる便利なフレームワークです。このexpressを使って雛形をインストールするわけですが、先人の知恵さまサイトではejsが使われてて、自分の環境では何をやっても絶対にjadeがインストールされてしまっていました。今回はなんでそれが起きたのかと、expressでejsがインストールされない方へ向けての対処法を書きます。 ※2012/08/18追記 express version 3.xから、ejsの指定の方法が変わったようです。tamaさんにご教授頂きました。ありがとうございます! express version 3.xでejsを指定する方法 version 2.xまでは、express -t ejsと指定する方法でしたが、version 3.x以降は、express -eでejsが指定されるみたいです。 //バージョンの確認。 $ express version 3.0.0rc3 //ejsを指定する。 $ express -e sample create : sample create : sample/package.json create : sample/app.js create : sample/public create : sample/public/javascripts create : sample/public/images create : sample/public/stylesheets create : sample/public/stylesheets/style.css create : sample/routes create : sample/routes/index.js create : sample/views create : sample/views/index.ejs install dependencies: $ cd sample && npm install run the app: $ node app ちゃんとejsがインストールされました!^▽^

続きを読む

Tower.jsはnode.jsで使えるモジュールがいっぱい入ってるパッケージです。例えば、node.jsのsocket.ioモジュールでチャットを作ります。CoffeeScriptが使いたいのでモジュールをインストールします。あとそれからそれから、、、というのがだいたい入ってます。 Tower.js http://towerjs.org/ Tower.js models http://towerjs.org/models 僕はこんなに使いこなせるかわかりませんが、とりあえず入れてみて動かしてみたいと思います。参考にさせていただいたのは下記のサイト。 さらばExpressよ!Tower.jsを試すの巻 http://codedehitokoto.blogspot.jp/2012/03/expresstowerjs.html[](http://codedehitokoto.blogspot.jp/2012/03/expresstowerjs.html) Tower.jsはnpmにはいっているのでインストールは簡単です。 Tower.jsインストール手順 // 1.-gオプションを付けてnpmからTower.jsをインストール $ npm install -g tower // 2.$ tower new [フォルダー名] $ tower new sample // 3.sampleフォルダーに移動 $ cd sample // 4.インストールします。 $ npm install // 5.ターミナルを別タブで開いてMongoDBを起動 $ mongod // 6.ターミナルのタブを最初に戻して起動します。 $ node server.js さて、これで動くはずみたいですが、僕のはこんなアラートが出ました。 [Sun, 01 Jul 2012 11:20:01 GMT] INFO Tower development server listening on port 3000 [ERROR] Error Error: failed to connect to [127.

続きを読む

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 サーバーを起動してみましょう。どうでしょうか。動きましたか? utilモジュール http://nodejs.jp/nodejs.org_ja/docs/v0.4/api/util.html The “sys” module is now called “util”.

続きを読む

[INFO] Restarting [ERROR] Error Error: Cannot find module 'socket.io' node.jsを実行した時に、socket.ioがうまく繋がらなかった時のエラー。いろいろ試してsocket.ioが繋がった時のメモを残します。 検証環境 MacOS 10.6.8 ターミナル.app node v0.6.18 npm v1.1.24 express v2.5.10 socket.io v0.8.7 現時点でsocket.ioの最新バージョンはv0.9.xでしたが、0.8.7にすればとりあえず動きました。 $ npm install socket.io@0.8.7 app.js編集 app.js 1 2 var app = module.exports = express.createServer(); var io = require('socket.io').listen(app);//この行を追加 node app.jsで起動してみる $ node app.js info - socket.

続きを読む

プロフィール画像

こたぽん

JavaScript, React, NextJS, VueJS, NuxtJS, AWS, Firebase, Git, ビールと生ハムが好き

Rakuten, Inc. CyberAgent, Inc.