nvmとNode.jsとWebSocket.IOをインストールしてWebSocketアプリの環境を作る
Node.jsを用いてWebSocketを利用したアプリケーションを作ってみたいと思います。nvmとNode.jsとWebSocket.IOをインストールして環境を構築しましょう。
nvmって?
nvmはNode Version Managerの略称で、Node.jsの管理周りを補佐してくれる便利なツールです。Rubyで言うところのrvmと言った方が説明が早いでしょうか。複数のバージョンをインストールしたり、それを簡単に切り替えたりすることができます。Node.jsは、頻繁にバージョンアップしていますので、大変便利なツールであります。同様のツールにnaveというものもあります。
nvmとNode.jsのインストール
nvmとNode.jsのインストールは、以下の通りです。GitHubにもインストール方法が提示されています。
参考リンク:creationix / nvm – GitHub
1 2 3 4 5 6 7 8 9 10 11 12 | # nvmをclone git clone git://github.com/creationix/nvm.git ~/nvm # nvmを実行 . ~/nvm/nvm.sh # 特に何も表示されません # nvmでnodeをインストール nvm install v0.8.9 # 使用するnodeのバージョンを指定 nvm use v0.8.9 |
以上で完了です。
以下を.bashrcに追記し、補完機能と自動起動を有効にしておきましょう。
1 2 3 4 5 6 7 8 | # bash_completionを読み込んで補完を有効にする source ~/nvm/bash_completion # nvmの自動起動 . ~/nvm/nvm.sh nvm use v0.8.9 # nvm alias default v0.x.x としてエイリアスを作成し、 # nvm use default とするのもあり |
WebSocket.IOのインストール
続いて、WebSocket.IOをインストールします。nvmをインストールするとnpm(Node Package Manager)も同時にインストールされます。npmを利用することで非常に簡単にNode.jsのパッケージ管理ができます。
1 | npm install websocket.io |
以上で完了です。
次回は、実際にアプリを開発してみたいと思います。
g++がなくてNode.jsのインストールに失敗した
Node.jsのインストールには、g++が必要です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | nvm install v0.8.9 Additional options while compiling: ######################################################################## 100.0% { 'target_defaults': { 'cflags': [], 'default_configuration': 'Release', 'defines': [], 'include_dirs': [], 'libraries': []}, 'variables': { 'clang': 0, 'gcc_version': 44, 'host_arch': 'x64', 'node_install_npm': 'true', 'node_install_waf': 'true', 'node_prefix': '/root/nvm/v0.8.9', 'node_shared_openssl': 'false', 'node_shared_v8': 'false', 'node_shared_zlib': 'false', 'node_use_dtrace': 'false', 'node_use_etw': 'false', 'node_use_openssl': 'true', 'target_arch': 'x64', 'v8_no_strict_aliasing': 1, 'v8_use_snapshot': 'true'}} creating ./config.gypi creating ./config.mk make -C out BUILDTYPE=Release V=1 make[1]: ディレクトリ `/root/nvm/src/node-v0.8.9/out' に入ります # 〜中略〜 LD_LIBRARY_PATH=/root/nvm/src/node-v0.8.9/out/Release/lib.host:/root/nvm/src/node-v0.8.9/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/tools/gyp; mkdir -p /root/nvm/src/node-v0.8.9/out/Release/obj/gen; python ../../tools/js2c.py "/root/nvm/src/node-v0.8.9/out/Release/obj/gen/experimental-libraries.cc" EXPERIMENTAL off ../../src/macros.py ../../src/proxy.js ../../src/collection.js touch /root/nvm/src/node-v0.8.9/out/Release/obj.target/deps/v8/tools/gyp/js2c.stamp g++ '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DENABLE_DEBUGGER_SUPPORT' '-DV8_TARGET_ARCH_X64' -I../deps/v8/src -Wall -pthread -m64 -fno-strict-aliasing -O2 -fno-strict-aliasing -fno-tree-vrp -fno-tree-sink -fomit-frame-pointer -fno-tree-vrp -fno-rtti -fno-exceptions -MMD -MF /root/nvm/src/node-v0.8.9/out/Release/.deps//root/nvm/src/node-v0.8.9/out/Release/obj.target/v8_base/deps/v8/src/accessors.o.d.raw -c -o /root/nvm/src/node-v0.8.9/out/Release/obj.target/v8_base/deps/v8/src/accessors.o ../deps/v8/src/accessors.cc make[1]: g++: コマンドが見つかりませんでした make[1]: *** [/root/nvm/src/node-v0.8.9/out/Release/obj.target/v8_base/deps/v8/src/accessors.o] エラー 127 make[1]: ディレクトリ `/root/nvm/src/node-v0.8.9/out' から出ます make: *** [node] エラー 2 nvm: install v0.8.9 failed! # gcc-c++をインストールすればOK yum --enablerepo=remi,epel,rpmforge install gcc-c++ Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.jaist.ac.jp * epel: ftp.jaist.ac.jp * extras: ftp.jaist.ac.jp * remi: rpms.famillecollet.com * rpmforge: apt.sw.be * updates: ftp.jaist.ac.jp Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package gcc-c++.x86_64 0:4.4.6-4.el6 will be installed --> Processing Dependency: libstdc++-devel = 4.4.6-4.el6 for package: gcc-c++-4.4.6-4.el6.x86_64 --> Running transaction check ---> Package libstdc++-devel.x86_64 0:4.4.6-4.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: gcc-c++ x86_64 4.4.6-4.el6 base 4.7 M Installing for dependencies: libstdc++-devel x86_64 4.4.6-4.el6 base 1.5 M Transaction Summary ================================================================================ Install 2 Package(s) Total download size: 6.3 M Installed size: 20 M Is this ok [y/N]: y Downloading Packages: (1/2): gcc-c++-4.4.6-4.el6.x86_64.rpm | 4.7 MB 00:01 (2/2): libstdc++-devel-4.4.6-4.el6.x86_64.rpm | 1.5 MB 00:00 -------------------------------------------------------------------------------- Total 3.7 MB/s | 6.3 MB 00:01 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : libstdc++-devel-4.4.6-4.el6.x86_64 1/2 Installing : gcc-c++-4.4.6-4.el6.x86_64 2/2 Verifying : libstdc++-devel-4.4.6-4.el6.x86_64 1/2 Verifying : gcc-c++-4.4.6-4.el6.x86_64 2/2 Installed: gcc-c++.x86_64 0:4.4.6-4.el6 Dependency Installed: libstdc++-devel.x86_64 0:4.4.6-4.el6 Complete! |
Node.jsとWebSocket.IOでチャットアプリを作る | mawatari.jp
2012年10月22日 @ 12:11 PM
[…] 前回はnvmとNode.jsとWebSocket.IOをインストールしてWebSocketアプリの環境を作るところまで終わりました。今回はNode.jsとWebSocket.IOでチャットアプリを作ってみました。まだ完全に理解できて […]
MacOSにRECESSとUglifyJSをインストールしたときのメモ | mawatari.jp
2012年11月14日 @ 1:05 PM
[…] 以下の記事にまとめておりますので、詳しくはそちらをご覧ください。今回はコマンドとログのみを残しておきます。 nvmとNode.jsとWebSocket.IOをインストールしてWebSocketアプリの環境を作る […]
CakePHPにTwitterBootstrapプラグインを導入する | mawatari.jp
2012年12月1日 @ 2:47 PM
[…] nvmとNode.jsとWebSocket.IOをインストールしてWebSocketアプリの環境を作る nvmとNodeをインストールし、LESS, JSHint, RECESS, UglifyJSをインストールする […]
PhpStormでHandlebars.jsを使う | mawatari.jp
2013年7月16日 @ 11:31 AM
[…] そのため、Node.jsが必要となります。Node.jsの環境構築は、ググって調べるか、過去の記事を参考にしてみてください。 nvmとNode.jsとWebSocket.IOをインストールしてWebSocketアプリの環境を作る […]