npm - node.js

npm(Node Packaged Modules) と package.json についてです。

検証環境

  • Node.js 0.8.14
  • npm 1.1.65
モジュールのインストール
npm install <name>
バージョンを指定したモジュールのインストール
npm install <name>@0.0.1
バージョンの範囲を指定したモジュールのインストール

指定した範囲の最新バージョンのモジュールがインストールされます。

npm install <name>@">=0.0.1 <1.0.0"
tarball を指定したモジュールのインストール
# ファイル指定
npm install ./tarball.tgz
# URL指定
npm install https://github.com/sample/sample/tarball/v0.5.6
package.json への自動記入

モジュールのインストールを行い、./package.json の dependencies にインストールされたモジュール名/バージョンを追記します。

npm install <name> --save
インストールされているモジュールの削除
npm rm <name>
# install と同様に package.json に反映することも可能
npm rm <name> --save
./package.json

npm の save オプションは ./package.json が正しい書式で保存されていなければなりません。package.json に最低限必要な要素は "name" と "version" です。これらの要素を書かず、

{
}

と、空オブジェクトでも save オプションは機能し、dependencies が追加されますが、後述する npm install がエラーになるため、以下のように "name" と "version" は必ず記載してください。

{
  "name": "<name>",
  "version": "0.0.1"
}

dependencies は以下のように記載します(install に save オプションをつけることで自動的に追加されます)。

{
  "name": "<name>",
  "version": "0.0.1",
  "dependencies": {
    "flesh": "0.0.1",
    "underscore": ">=1.0.0 <1.4.2"
    "opts": "*"
  }
}

* は最新バージョンを指定しています。

dependencies を利用した自動インストール

先述したように、npm install で package.json の dependencies に記載されたモジュールを一度にインストールすることができます。

# dependenciesが記載されている状態で
npm install

以上で npm をとりあえず問題なく使用できると思います。npm には公開するためのコマンド publish やそのためのいくつかのコマンド、また、update といった有用なコマンドや、本エントリでは解説しなかった install のオプションなども存在しますので、公式サイトで確認してください。

参考

npm リファレンス https://npmjs.org/doc/install.html