Part10:npm

海未「以前、モジュールの作り方と使い方について見ましたが、モジュールがプログラムの再利用に有効な手段であることは分かったと思います」
ことり「汎用的なモジュールができたら、いろんなところで使い回せるよね」
海未「はい。ですから、自分でコードを書く前に既存のモジュールがないか探した方が効率がよいのです」
穂乃果「でも、どうやって探したらいいの?海未ちゃんとかことりちゃんが作ったやつなら直接聞けばいいけど・・・」
海未「そのために、世界中のNode.js開発者が作ったモジュールを登録できるリポジトリが存在します。そこから簡単にモジュールをインストールしたり、自作モジュールを公開したりできるのです」

海未「まずはパッケージを探すところからいきましょう。以下のサイトで検索ができますから、必要なパッケージはここで探してみてください」

https://www.npmjs.com/

穂乃果「・・・英語」
海未「苦情は受け付けません」

海未「最初に、npm initを使ってプロジェクトを初期化します。適当なディレクトリを掘って、そこでnpm initを実行してください」
穂乃果「なんかいろいろ聞かれるけど・・・」
海未「今は気にせず、Enter連打でいいでしょう」

海未「この操作で、package.jsonというファイルができました。これがあるディレクトリはnpmの管理下とみなされます」
ことり「.gitみたいなのだね」
海未「package.jsonの中身は、今は気にしなくてもよいでしょう。パッケージとして公開したりビルドタスクを入れたりしたくなったら調べてください」

海未「では実際に、何かパッケージをインストールしてみましょう。ユニットテストに使うchaiというパッケージを入れてみます」

海未「このchaiを使ってみましょう」

海未「中身は置いておいて、動作はしますね。これでchaiモジュールが使えるようになったわけです」
穂乃果「おおっ、ということは、これでパッケージ入れまくれば何でもできる!」
海未「何でもはできませんよ。できることだけ」

海未「今試した方法はローカルインストールといって、npmを実行したディレクトリに対してインストールするものです。ですから、他のディレクトリでは使えませんね」
ことり「うーん、バージョンとか依存関係とかごちゃごちゃになるからかなあ」
海未「プロジェクトごとに決められたバージョンのモジュールを使うことは多いですしね。ですが、npm install -g chaiとすれば、グローバルインストールといって全てのプロジェクトで使える状態にできます」
穂乃果「ほんとに汎用的なやつはグローバルで入れちゃえば楽だね」
海未「あとは、先ほどのpackage.jsonを使う方法があります。npm install chai --saveというコマンドを使いましたが、この結果chaiをインストールしたという情報がpackage.jsonに記録されています」
穂乃果「と、いうことは・・・」
海未「はい。package.jsonを別のディレクトリにコピーして、そこでnpm installを実行するとchaiがインストールされます。多数のパッケージに依存するプロジェクトでは有効ですね」

海未「このnpmを活用すると、車輪の再発明を防げると思います。ただし、当然ながら品質や安全性が保証されているものではありませんから、あまり怪しげなパッケージは使わないようにしましょう」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です