Node.jsってなんやねん以前に、とにかく使いたいねん! という人向け記事である。かなりざっくりした説明なので、詳細は合ってないだろう。大体こんな感じ! を知りたい人向けである。(がっつり間違っていたら、むしろ教えて)
サンプルでよく分からんけど「npm install」ってよくやるよね。あれって何なの? って思う人、レベルの記事である。
実は今、私も使い始めたばかりで詳細はよく分かっていない。
とにかく「ちょっとは原理を知って使いたい!」人、向けである。
では、御託は抜きにしてさっさと行ってみよー!
結局、「npm install」って何なの?
大体、サンプルを落としてくると最初に「npm install」しろって言われたことないだろうか。
あれは簡単に言うと、同フォルダにある「package.json」に記載されている必要なモジュールを、「npm install」することで一括でダウンロード(インストール)してくれるのだ。
よく見るとサンプルに「nodemodule」フォルダはないはずである。
そこに「npm install」することで「nodemodule」フォルダが作られ、その中に勝手にダウンロードしてくれるのである。
なんで、サンプル落としてきたのに「(よく分からんけど)使えないじゃん!」という人で、フォルダ内に「package.json」ファイルがある人は「npm install」をすることで使えるようになるよ、たぶん。
そんなことせんでも、最初からサンプルに同梱しておいてくれよ!
と、思う方も居ることだろう。私もよくそう思った。
きちんとした理由は私も知らんが(知らん)、恐らく以下の理由がある。
ひとつは簡単だろう。単純にサイズの問題だと思っている。
例えば、ある便利なモジュールを使って、プログラムを作成したとする。簡単なものだと、数キロ程度の代物であろう。
それをわざわざ人に渡す時、自分で作成した数キロのプログラム+モジュール(数MB)を渡すとなったら手間だろう。
少し話は戻るが「npm install」を行うと「package.json」に記載されたモジュールをインストールする。
逆もしかり、例えば追加で「npm install <<何か別のモジュール>>」した際も勝手に「package.json」に記載されるのだ。
なので、例えば誰かに自分の作ったプログラムを渡したいと思ったら、実際に作ったプログラムと同じフォルダにある「package.json」ファイルを渡して、「npm install」して貰えばいいのだ。
それだけでわざわざ数MBあるような重いモジュールをいちいち渡さなくても、同じ環境を作れるのだ。
大前提としてnpmコマンドが使えないとだが……npmコマンドのインストール方法はぐぐれば出てくるので、そちらを参考にして欲しい(要望があれば記載する)
よく分からん人は「nodemodule」フォルダ以外を渡せばいい。大体、でっかいサイズなのは「nodemodule」フォルダである。
バージョンについては、例えばよくバージョンアップしたら使えなくなった、なんて話をよく聞くと思うが、それがある程度、吸収されるのである。
先ほど、「package.json」にはダウンロードしたモジュール名が記載されると言ったが、正確にはバージョンも記載される。
なので、バージョンによって動作しないという問題が少なくなる。
まぁ、ここでnpmコマンド自体のバージョンが合わなくて落とせないよ! というパターンもあるが、これもとりあえず割愛する(要望があれば記載する)
なので、今使っているバージョンを確認したい!、逆にバージョンアップしたい! と言った時際にも役立つ。確か「npm list <<モジュール名>>」でバージョンを確認できるので、確かめてみるといいよ。
その他のコマンドをざっくり説明してみる
npm init
Nodejsモジュールをがっつり使って、最初から開発する場合の人が使うコマンドである。正直、サンプル頼みな私は一度も使ったことはない。
簡単に言うとそのディレクトリに「package.json」ファイルを生成し、これ以降に「npm install」で落とすモジュール類を管理してくれるようになる。
厳密に言うと、もっと便利なものなのだろうが……おそらく「npm test」を行った際に要になるんじゃないか(知らんけど)
npm list
「npm list <<モジュール名>>」でnodemodule内に当該モジュールがあるかを調べてくれる。バージョンも確認できるので意外と使う。
このコマンドでねぇよって言われるとその場所に自分が必要としているモジュールがないということだ。
まとめ:結局、Node.jsって何なんだ
意外と上のような説明なしで、いきなり核心を突くような記事しか見当たらないので、ざっくり記載してみた。どうだったろうか。
詳細はどうでもええねん! このNode.jsを使っているサンプルをとにかく動かしたいんじゃ! という時に読んで欲しい。
原理を知るには、まず動いてくれよ……って話である。私が切実にそう思っていた。なんでフォルダ移動するとこのプログラム動かないのキー! とよくやっていたよ……。
かーなーり、ざっくりなのでもしここが知りたいねん! という強い要望が多ければ、その辺も記載するかもしれないし、しないかもしれない。
ではでは、この辺で!
コメント