Node.jsの各プロジェクトに対してnpmでパッケージを追加するには次のようにします。無関係のプロジェクトにはインストールはされません。
1. package.jsonを作ります
プロジェクトの名前や使用しているパッケージ情報などはpackage.jsonで管理されます。
まず、Node.jsの各プロジェクトフォルダに移動します。なければ作ります。
$ cd ~/path/to/project
package.jsonファイルを作るには、npm init
コマンドを使います。プロジェクト名などプロジェクトの情報を聞かれるので適時入力するか、未定の箇所はEnterキーでスキップします。
$ npm init package name: (deploy-test) deploy-test version: (1.0.0) 0.0.1 description: deploy test project entry point: (app.js) app.js test command: git repository: keywords: author: license: (ISC)
2. パッケージをインストールします
npmを使い所望のパッケージをインストールします。今回はbcryptをインストールしてみます。–save-dev オプションをつけると開発環境用のパッケージとして扱われます。注. オプション -g をつけるとプロジェクトをまたがってグローバルパッケージとしてインストールされます。今回は-gは不要です。
$ npm install bcrypt
すると、プロジェクトフォルダにnode_modules
フォルダが生成されて、そこに依存関係のあるモジュールがインストールされています。
$ ls node_modules
abbrev block-stream deep-extend...
あとは、各jsファイルからrequireでモジュールを読み込めば追加したパッケージが使用可能です。
@app.js
const bcrypt = require('bcrypt');
3. node_modulesフォルダをGit管理から除外します
node_modules フォルダには大量のモジュール群が生成されますが、Gitの管理対象にする必要はないので、.gitignore
に追記しておきます。
package.jsonにプロジェクトで使用しているパッケージ情報を記載しておけば、後から再インストールできるためです。
@.gitignore
node_modules/
package.jsonを使ってパッケージを再インストールするにはnpm install
コマンドを使います。
$ npm install