必要に迫られてnodejsについて今さらながら学習中です。
Windowsに開発環境を構築するにあたってのメモになります。
nodejs(nodist)をインストール
nodejsは動作に使用するプラグインの動作要件によって使えないバージョンがあるようなので、最新のバージョンをインストールするのではなくWindows上でコマンド操作からnodejsのバージョンを切り替えることが可能なnodistというツールをインストールしました。GitHub上で公開されていました。
nodejs自体も同梱されてるのでnodejs自体がインストールされていた場合は一度削除した方が良いかも。
ダウンロード:Releases · nullivex/nodist · GitHub
参考:nodistでNode.jsをバージョン管理 – Qiita
バージョンは0.9.1でした。ローカルにダウンロードして実行するだけ。
「Next」をクリック。
インストール中。。
特に迷うところはありませんでした。
上に載せた参考リンクの情報では環境変数の設定は自動化されているとのことでしたが、私の環境ではうまくいきませんでした。そのためnodistのインストール後、環境変数を開きPathにNodistのbinディレクトリを指定しました。
# nodejsのバージョン確認 node -v # npmのバージョン確認 npm -v # インストール可能なバージョン確認 nodist dist
バージョンを確認し、nodejsは11.13.0がインストールされていることを確認しました。
npmというnodejsのパッケージを管理するツールは6.9.0がインストールされていることを確認しました。
# インストールおよびグローバルなバージョンの切り替え nodist 10.16.0 # インストール済みのバージョン確認 nodist ls
今回はnodejsの環境構築が目的でありバージョンについての制約は特にないので適当に10.16.0に変更してみました。
nodist lsで切り替えが可能なバージョンが確認できます。
インストール後バージョンが変わっていることが確認できました。
後日調べたところnodistによるnodejsのインストールにはバージョンの前にプラスを付けるのが一般的なようです。
プラスを付けた場合は指定したバージョンのnodejsのインストールのみが行われます。プラスを付けなかった場合はそのコマンド自体がnodejsのグローバルなバージョンを変更するコマンドとなるため、インストール>バージョン切り替えという一連の流れが発生しているようでした。(上記キャプチャ参照)
ヘルプ見たらExamplesのところに書いてありました。ヘルプをちゃんと読む。
Clinkをインストール
nodejsの件とは全く関係ないのですが、同僚に教えてもらったツールで便利だったのでインストールしました。
WindowsのコマンドプロンプトをLinuxっぽく操作できるようになるツールのようです。具体的にはTabを2回押すことで入力補完やカレントのファイルの一覧を表示してくれたりするようになります。いちいちdirコマンドで調べたりしなくてよくなる。
入力補完でハイフンとアンダースコアを区別してくれない点がちょっと気になる。
公式:Clink
「I Agree」をクリック。
インストール後に立ち上げたコマンドプロントを見たところ上の方にclinkの表記が見て取れる。
Tabを2回押すことでディレクトリの一覧が表示されることを確認しました。
個人的には開きなおしたコマンドプロンプトで前回の入力のヒストリーが残っているのが便利だなーと思いました。
Gowをインストール
こちらもnodejsとは関係ありません。
Linuxで使用可能なlsやtarなど多数のコマンドをWindows上で使えるようにしてくれるというもの。
ダウンロード:Releases · bmatzelle/gow · GitHub
バージョンは0.8.0でした。
特にインストールするのに悩む箇所はなかったような気がします。
インストール後、lsコマンドが使えるようになっていることを確認しました。
gowをインストールすることで使用可能になったコマンドは以下の模様。
> gow -l Available executables: awk, basename, bash, bc, bison, bunzip2, bzip2, bzip2recover, cat, chgrp, chmod, chown, chroot, cksum, clear, cp, csplit, curl, cut, dc, dd, df, diff, diff3, dirname, dos2unix, du, egrep, env, expand, expr, factor, fgrep, flex, fmt, fold, gawk, gfind, gow, grep, gsar, gsort, gzip, head, hostid, hostname, id, indent, install, join, jwhois, less, lesskey, ln, ls, m4, make, md5sum, mkdir, mkfifo, mknod, mv, nano, ncftp, nl, od, pageant, paste, patch, pathchk, plink, pr, printenv, printf, pscp, psftp, putty, puttygen, pwd, rm, rmdir, scp, sdiff, sed, seq, sftp, sha1sum, shar, sleep, split, ssh, su, sum, sync, tac, tail, tar, tee, test, touch, tr, uname, unexpand, uniq, unix2dos, unlink, unrar, unshar, uudecode, uuencode, vim, wc, wget, whereis, which, whoami, xargs, yes, zip
cdとかfindなどのWindowsに標準で搭載されてるコマンドは上書きしないようになっているっぽい?
sedは自動化の手順を構築するときによく使うのでこれがWindowsでも使えるというのは便利。
nodejsの動作確認を行う
はじめのサンプルプログラムは以下を参考にさせていただきました。
参考:Node.jsで5行Webサーバを書いてみよう〈Node.jsシリーズ vol.1〉 – Tech Blog – Recruit Lifestyle Engineer
丸ごとコピペしただけです。。
$ node webserver.js
nodejsでwebserver.jsを実行し、localhostの1337にブラウザでアクセス。
200番のステータスと「Hello World」というテキストが得られることを確認しました。