Windowsでのnpm環境の作り方

もはやWebエンジニアなら使えて当然のnpm。
便利ツールを探したら、インストール方法に「npm install -g XXX」しか書いていないこともしばしばです。
布教のため、Windowsでの使い方を書くことにしました。
(UNIXなら超カンタン…)

Node.js、npmとは?

Node.jsとは、サーバサイドで動くJavaScript環境です。サーバサイド環境ってことはブラウザがいないわけで、コマンドラインからJavaScriptが実行できます。
Node.jsのライブラリのインストールはNode.jsに付属するNode Package Manager(npm)コマンドから行います。
aptとかyumに似ているので触ったことがある人はイメージがわきやすいかも。

Node.jsのインストール

公式サイトからダウンロードしてもいいのですが、Node.jsのバージョンアップが頻繁であるため、Nodeのバージョン管理ツールを使うほうがよいです。
バージョン管理ツールはWindowsだとnodistが良さそうなので、これにしてみます。

git cloneするかzipでダウンロードします(個人的には前者をおすすめします。gitが使えないのが許されるのは…略)。

C:/Program Filesとかでもいいんですが、コマンドプロンプトから叩きたい時にスペースで区切られて発狂するので、僕は以下にgit cloneしました。以後、適宜読み替えてください。

C:¥tool¥nodist

環境変数に以下を追加します。Windowsの環境変数設定画面はいつになっても最高に使いやすいですね!(皮肉)

PATH="C:¥tool¥nodist¥bin;(既存の設定が後ろに続く)"
NODIST_PREFIX="C:¥tool¥nodist"
NODE_PATH="C:¥tool¥nodist¥bin¥node_modules;%NODE_PATH%"

環境変数適用のため、面倒臭がらずに再起動しました。

コマンドプロンプトから以下を実行します。
現時点のstable 0.10.26 をインストールする例です。

nodist update
nodist + 0.10.26
nodist 0.10.26

動作確認のためバージョン番号を表示してみます。

node -v
v0.10.26
npm -v
1.4.6

ここまでくればNode.jsとnpm環境の構築は完了!お疲れ様!

npmを使ってみる

MicroSoftが作ったAltJSの極み、TypeScriptを使ってみます。
VisualStudioのTypeScript環境もとても良く出来ているんですが、VSにはない様々な便利なツールもありますし、JenkinsなどのCIで自動化したりできますし、利点はたくさんあります。
トップページによると、以下のよう書かれていますので、その通りに実行します。

npm install -g typescript

test.ts を用意して、

module Test {
	class Hello {
		public hello(): void {
			console.log("hello");
		}
	}
}

 

コンパイル。

tsc test.ts

test.jsができあがっていれば成功です。
Node.jsのインストールがちょっと大変ですが、それさえできればコマンド1つで様々な便利ツールがインストールして使えるようになります。

個人的なオススメ

Windowsのコマンドライン環境はUNIXに比べると貧弱過ぎます。
あれを触らなきゃいけない時はハッキリいって憂鬱になります。
理想をいえばMacを使うのがベストだと思うのですが、仕事で使う場合、高いMacを買ってもらえるとも限らないし、Macのセキュリティルールが無くて云々とかありそうですし、なかなか難しい場合が多いと思います。
Cygwinも好きだけど、今回みたいな環境変数を使うようなやつでははまりがちな印象があります。

そこで個人的にオススメしたいのは、VirtualBoxUNIX環境を作り、ホストオンリーとNATの2つのNICを用意し、ホストからゲスト、ゲストからインターネットが見られるようにすることです。
UNIX環境にSambaをインストールすれば、Windowsの好きなアプリを使いつつ、UNIX環境の恩恵も受けられるんだ!なんだってー!?
ただ、ちょっと重いかもしれない…。

この投稿へのコメント

  1. けんにぃ said on 2015/06/22 at 23:19

    バージョン管理にchololateyを使うのはどう?
    https://chocolatey.org/

  2. kaiba said on 2015/06/22 at 23:36

    いいね!

コメントを残す

メールアドレスが公開されることはありません。

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL