jnobuyukiのブログ

研究していて困ったことやその解決に関するメモ。同じように困ったあなたのために。twitter ID: @j_nobuyuki

Windows 7 にnode.jsをインストールしようとしてはまったこと

node.js はサーバーサイドのJavaScript環境のためのライブラリです。その使い方は、既に色々なウェブページで紹介されています。
第一回 Node.jsでどんなことができる?|マルチデバイスLab. - Multi Device Lab.
いまアツいJavaScript!ゼロから始めるNode.js入門〜5分で環境構築編〜

私の場合、フロントエンドにJavaScriptをどう使うかばかり考えてきました。でもちょっとしたきっかけで、node.jsをインストールしてみる気になりました。

node.jsのインストールは、インストーラを開発者が用意してくれているので簡単です。
Node.js

簡単だと思っていたのですが、やってみるとまったく思った通りに動いてくれません。完全にはまった感じです。今回は、はまる原因をメモ代わりに残しておきます。

インストール成功が確認できない

どうはまったのかというと、インストールの成功が確認できませんでした。インストールが成功したことを確認するにはバージョン情報を表示すると良いみたいです。

node -v 

コマンドもとてもシンプル。引数なしで、オプションを一つ付けるだけです。インストールがうまくいっている場合には、
v0.12.0 のようにバージョンが表示されます。しかしWindows 7に対応するインストーラを実行した後で上記のコマンドを実行したら、なんだかおかしな画面が表示されました。

f:id:jnobuyuki:20150318101621j:plain

2つのnode.exe

コマンドラインでnodeとうって、ファイルパスによるリンクが上手くいかないのならば、そのようなファイルやフォルダがないというエラーメッセージが出るはずです。ところが、何かのプログラムが動いてしまいました。いろいろ調べてみて、やっと分かったのは、私のパソコンの中には2つのnode.exeというプログラムがあることでした。1つは、今回インストールしたnode.jsの実行ファイル。もう1つは、High Performance Computingを実現するモジュールのnode.exeでした。2つのプログラムの機能は全く違いますが、偶然同じ名前だったわけです。

PATHの呼び出し順序を操作する

今回の問題を解消するには、High Performance Computing用のnode.jsよりも先にnode.js用のnode.exeを呼び出せばいいはずです。これは、環境変数のPATHで調整します。PATHで設定されたディレクトリは、書かれている順序で呼び出させるようなので、できるだけ前の方にnode.js用のパスを書き込みます。根本的な解決ではないのですが、これでnode.jsをコンソールから呼び出せるようになりました。