WindowsでNode.js(npm)触るならnodistを使うといいかもしれない
たまにWindowsでもNode.jsを使いたい時無いですか?
私はnode.js(と言うよりnpm)を使ってツールをインストールしたい場合があり、一応(?)Node.jsをインストールしています。
ただNode.jsはバージョンが上がるのが早いので(公式の便利なインストーラがあるとはいえ)都度更新しなければなりません。
ある時ふとしたきっかけでWindows用の便利なバージョン管理ツール「nodist」を見つけてからそれを使うようにしています。
nodistはWindowsのみで使えるNode.js用のバージョン管理ツールです。
下記環境でテストしてみました。
- Windows7 Professional 64bit
- nodist v0.3.5
まず、nodistコマンドを使えるようにします。
任意の場所に zip ファイルをダウンロードするか、git clone git://github.com/marcelklehr/nodist.git します。
ndist コマンドが使えるようにパスを設定します。
C:Userskamiyamnodistbinnodist
私はユーザフォルダの下に配置しています。
では、nodistが使えることを確認しましょう。
> nodist -v
v0.3.5
続いて、必要なモジュールをダウンロードするために、updateを実行
> nodist update
ではNode.jsをインストールします。
> nodist + v0.10.2
0.10.2
あっさり入りました。
nodistはデフォルトでバイナリ(.exe)ファイルをダウンロードするので早いですね。
この他、「 nodist add v0.10.2 」でもダウンロード出来ます。
ダウンロードしたバージョンを利用する場合は、nodist use を使います。
(useを省略することも可能)
あ、私の環境では http://nodejs.org/ からダウンロードできる純正(?)のインストーラでNode.jsをインストールしているとうまくバージョン切り替えができなかったのでアンインストールしました。
> nodist (use) v0.10.2
0.10.2
バージョンを確認します。
> node -v
0.10.2
アンインストールは
> nodist - v0.10.2 ## nodist rm v0.10.2 でも可
ダウンロードしたバージョンを確認するには nodist を実行します。
> nodist ## nodist (ls|list) でも可
0.8.1
0.8.2
0.8.14
0.10.1
> 0.10.2
では Node.js のフレームワーク Express をグローバルインストールしてみます。
> npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
...(省略)
@pathtousernodistbinexpress -> @pathtousernodistbinnode_modulesexpressbinexpress
express@3.2.0 @pathtousernodistbinnode_modulesexpress
├── methods@0.0.1
├── fresh@0.1.0
├── cookie-signature@1.0.1
├── range-parser@0.0.4
├── buffer-crc32@0.2.1
├── cookie@0.0.5
├── commander@0.6.1
├── debug@0.7.2
├── mkdirp@0.3.5
├── send@0.1.0 (mime@1.2.6)
└── connect@2.7.6 (pause@0.0.1, buffer-crc32@0.1.1, bytes@0.2.0, qs@0.5.1, fo
rmidable@1.0.11)
グローバルインストールされたnpm_modules はNode.jsのバージョンを問わず同一のフォルダに展開されるため、一度インストールすれば nodistでバージョンを切り替えてもどのバージョンからも利用可能です。
あとは、普通にインストーラなどでインストールしたNode.jsと変わりませんね。
> express express_apps
create : express_apps
create : express_apps/package.json
create : express_apps/app.js
create : express_apps/public
create : express_apps/public/javascripts
create : express_apps/public/stylesheets
create : express_apps/public/stylesheets/style.css
create : express_apps/public/images
create : express_apps/views
create : express_apps/views/layout.jade
create : express_apps/views/index.jade
create : express_apps/routes
create : express_apps/routes/index.js
create : express_apps/routes/user.js
install dependencies:
$ cd express_apps && npm install
run the app:
$ node app
> cd express_apps
> npm install
> node app.js
Express server listening on port 3000
http://localhost:3000 にアクセスしてサーバが立ち上がっていることを確認。
Sails.js ちゃんと使えるようです。
> sails new sails_apps
info: Generating Sails project (sails_apps)...
debug: Generating app directory...
debug: Generating directory public...
debug: Generating directory public/images...
debug: Generating directory assets...
debug: Generating directory assets/js...
debug: Generating directory assets/templates...
debug: Generating directory assets/mixins...
debug: Generating directory assets/styles...
debug: Generating directory views...
debug: Generating directory views/home...
debug: Generating directory api...
debug: Generating directory api/models...
debug: Generating directory api/adapters...
debug: Generating directory api/controllers...
debug: Generating directory api/services...
debug: Generating directory api/policies...
debug: Generating directory config...
debug: Generating directory config/locales...
debug: Generating package.json...
debug: Generating README.md...
> cd sails_apps
> npm install
> sail lift
http://localhost:1337/ にアクセス
ということで、WindowsでNode.jsを使うことは少ないかもしれませんが、冒頭でも書いたとおり、Node.js(npm)を使ってインストールするツールも多くなってきているので使ってみてはいかがでしょうか?