先日、遅ればせながらNode.jsをインストールすることにしました。
一番の理由は、タスクランナーのgulpを使いたいから。
「gulpとはなんぞや?」とかいう話は別のブログを参照してもらうとして、
これを使うにはまず何はなくともNode.jsが必要だということで、どうやってインストールするのかグーグル先生にお伺いしてみました。すると、出るわ出るわ。情報の嵐。
さすが昨今のWeb制作でもはや必須と言われるNode.js。いろんな人がいろんな方法を紹介してくれており、基本的に情報には事欠きません。
が、実に様々な方法の情報が入り乱れており、黒い画面系の知識も乏しいエンジニアでもない者がいざやろうと思うと逆に混乱し、トラップにハマりやすい状況にあります。
かくいう私も目についたものから適当に手を出してやってしまったため、結果的に何度もインストール/アンインストールしなおす羽目になり、その過程で何度も「ヽ(`Д´#)ノ ムキー!!」となるトラブルに見舞われましたので、後学のWebデザイナーさん達のためにNode.jsインストールの攻略法をまとめておきます。
Nodeをインストールするには複数の方法がある。
まず、Node.jsをインストールする方法としては大体おおまかに次の4つの方法があると思ってください。
- 公式インストーラからインストール
- パッケージ管理ツールでインストール
- Nodeバージョン管理ツールでインストール
- パッケージ管理→バージョン管理ツール経由でインストール
どの方法でもインストール自体はできるのですが、
その後の管理等で使い勝手が変わってくるため、自分の目的と照らしあわせて最初からインストール方法を選んでおいたほうがよいと思います。以下、それぞれの方法の特長とそのメリット・デメリットを簡単にまとめます。
(※なお、各ツールの具体的な導入方法は参考サイトの方を参照してください)
1.公式インストーラ
◎Node.js公式(https://nodejs.org/)
GUIで操作できる唯一のインストール方法です。
通常のアプリケーションと同様、ダウンロード→ダブルクリック→OK連打のコンボであっという間にインストールは完了します。簡単・便利・楽ちん!
ただし、公式にはインストーラーは用意されていますが何故かアンインストーラーは用意されていないため、この方法でインストールしたNode.jsを関連ファイルも含めてキレイに削除するためには黒い画面を駆使する必要がでてきます。「私黒い画面とか分かんないし〜。インストーラーあるならポチればいいじゃん〜」的な感じで安易に使うと後で痛い目見ます。
【メリット】
- とにかく簡単
- インストールするだけなら黒い画面の知識不要!
<参考>「5分で終了。node.jsの環境構築が拍子抜けするほど簡単だったのでサンプルプログラム付きでまとめてみました【Mac編】」
【デメリット】
- アンインストールが激しく面倒くさい
- バージョン変えたくなった時に黒い画面使えないと軽く死ねる
<参考>「Mac OS X から Node.js をアンインストールする方法」
【おすすめタイプ】
- とにかくできるだけターミナルとか使いたくない。
- インストールしたらバージョンアップとかしない主義。
- アンインストールする時のことなんか知らん。今さえよければそれで。
2.パッケージ管理ツールでインストール
「homebrew」というOS X 定番の「パッケージ管理ツール」経由で直接Node.jsをインストールする方法です。
◎homebrew(http://brew.sh/index_ja.html)
「パッケージ管理ツール」とは、Nodeに限らずUNIXの世界で流通する様々な言語やソフトウェアのインストール・更新情報を簡単に集中管理できるようにするためのツールです。イメージ的にはApp StoreのUNIX無料版みたいな感じでしょうか(※あくまでイメージです)。パッケージ管理ツール自体は複数あるのですが、Macの場合は「homebrew」というものが定番で、エンジニア初心者向けの解説書などを見ると、一番最初の開発環境構築のところで「とりあえずhomebrew入れろ。話はそれからだ。」と言われて問答無用で入れさせられるものになります。
まずは先にhomebrewをインストールし、homebrewを通してNode.jsをインストールする、という2段構えの作業となります。
homebrewさえインストールされていれば、nodeのインストールは以下の1行で終了です。
$ brew install node
ただ、ここで非エンジニアが初めてhomebrewを導入しようとした時、少々問題が発生します。
単純にhomebrew公式サイトに行って、インストール用のコマンドをコピペしただけではおそらくhomebrewは動かないのです。理由は、homebrewを動かすための前提条件があるから。
homebrewからNode.jsをインストールしたい、という場合、
非エンジニアなどが初めて挑戦する際には
1.Javaのインストール
2.Command Line Toolsのインストール
3.Homebrew 本体のインストール
4.Node.jsのインストール
というステップを順に経て、やっと目的を達成できるという状態になるので頑張ってください。
<参考>「パッケージ管理システム Homebrew」
【メリット】
- Nodeのインストール、アンインストール、アップデート、いずれも簡単なコマンドでサクッと処理できる。
- 特に削除する時などは $brew uninstall node とするだけで関連ファイルも含めてサクッと消してくれる。楽過ぎる。
【デメリット】
- homebrew自体を使えるようにするための事前の環境構築が激しく面倒くさい。(下手するとここで詰む)
- 同時にインストールできるNodeは1バージョンのみ。複数バージョンの管理はできない。
【おすすめタイプ】
- 今後のために定番のフロントエンド開発環境を整えたい。Nodeのインストールはその一環。
- 複数バージョンのNodeを用意しておく必要はない。
3. Nodeバージョン管理ツールでインストール
homebrewを経由せず、Node専用のバージョン管理ツールからNode.jsをインストールする方法です。
Node専用のバージョン管理ツールを使うと、バージョン違いのNodeを複数インストールし、必要に応じて使用するバージョンを簡単に切り替えたりすることができるようになります。
特にNode.jsを前提とした各種開発をしていると、特定バージョンのNodeでないと動かないツールが出てきたりすることもあるため、頻繁にバージョンの入れ替えをする必要がある人には必須のツールとなっています。
Node専用のバージョン管理ツールも複数ありますが、今一番旬なおすすめは「nodebrew」というものだそうですので、これを使う前提とします。
◎nodebrew(https://github.com/hokaccha/nodebrew)
nodebrewはバージョン管理ツールなので、基本的にバージョンを指定してNodeをインストールする形となります。
$nodebrew install-binary <バージョン>
また、インストールしただけではまだ利用できず、「このバージョンを使うよ」という宣言も必要になります。
$nodebrew use <バージョン>
homebrewでのインストールよりちょっぴり面倒ですね。
でもプロジェクトごとに使うNodeのバージョンを切り替えたいのであればとても便利な仕組みです。
【メリット】
- 複数バージョンのNodeを簡単に使い分けできる。
- 使い方も比較的シンプルで分かりやすい
<参考>「node.jsのversionを管理するためにnodebrewを利用する」
【デメリット】
- nodebrewの設定で「パスを通す」作業が必須。UNIXの基礎知識が無いとキツイ。
- 既にNode.jsが入っているとnodebrew自体がインストール出来ないので削除作業が必要。
- nodebrew自体をアンインストールする必要が出た場合、どうしていいか分からない。。。(情報求む)
【おすすめタイプ】
- 黒い画面の基礎知識がある。または勉強する気がある。
- 複数バージョンのNodeを用意しておく必要がある。
- Node王に、オレはなる!
4. homebrew→nodebrew経由でインストール
パッケージ管理ツールのhomebrewからまずnodebrewをインストールし、nodebrewからNode.jsをインストールする合わせ技の方法です。
この方法だとnodebrew自体も簡単にアップデート・アンインストール出来るので、3の方法で謎だった「nodebrew自体をアンインストールする方法」で頭を悩ませる必要がありません。
なので、「これでパッケージ管理もバージョン管理も両方出来て最高じゃない!?」
・・・・と思った方、残念賞!
この方法は、Yosemite以上の環境の方にはお勧めできません!なぜなら、
homebrewでインストールしたnodebrewではnodeを正常にインストールすることができないから!
何を隠そう、それを知らずにJava→Command Line Tools→homebrew→nodebrewと、環境構築フルコースを完走したあげく、最後のNodeのインストールでトラップにハマって詰んだのが私ですorz
もうね、ため息しか出ないですよ。ほんと。。。
ちなみに試してないですが、ネットの情報を見る限り、以前はそれでできていたようなので、
Mervericks以下なら大丈夫なのだと思います。
【おすすめタイプ】
・Mervericksから絶対にOSバージョンアップしないと誓う人
まとめ
というわけで、いろいろ試してみた結果、Node.jsをインストールする方法としては
- 後のことはともかく、とにかく今すぐサクッと動かしたいなら「公式インストーラ」
- ある程度後々のことも考えてバランスの良い環境を作りたいなら「nodebrew経由」
という感じがいいんじゃないかと思います。
homebrewは、少なくともWebデザイナー・コーダーがNode系のツールを使うだけならすぐには不要なのではないかと思いますね。将来的にバリバリ開発する方に回りたいならあらかじめ環境構築の一環として整備するのも良いですが、少なくともNode.jsのインストールとその管理のためだけなら無くても良いです。
時間は有限なので、活用する予定のない環境構築している暇があるなら、UNIXの基礎を勉強した方がいいです。
というわけで、非エンジニアの方はまずは「黒い画面恐怖症」を克服してみるといいと思います。
<参考>「Webデザイナーの為の「本当は怖くない」”黒い画面”入門」