読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

npmの基本的な使い方まとめ

npmの基本的な使い方のまとめです。忘れたときに見返す用。

  • npmのインストールから、モジュールを取ってきて使うところまで。
  • 環境は、CentOS7です。

インストール

node.jsをインストールすると、一緒に入ります。
ここを参考にソースからインストールしました。

$ sudo yum groupinstall 'Development tools'
$ wget http://nodejs.org/dist/v0.12.0/node-v0.12.0.tar.gz
$ tar xvf node-v0.12.0.tar.gz
$ cd node-v0.12.0/
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

バージョンを確認。

$ node -v
v0.12.0
$ npm -v
2.5.1

モジュールのインストール

$ npm install <モジュール名>

例) $ npm install gulp
  • モジュール名を指定しない場合、package.json に書かれた依存モジュールをインストールします。
  • <モジュール名>@<バージョン> で任意のバージョンのモジュールをインストールできます。
  • 参考:npm - CLI Commands - install
ローカルインストールとグローバルインストール
  • ローカルインストール
    • 開発中のアプリが依存するライブラリをインストールする場合に利用します。
    • インストールしたモジュールは、プロジェクト内のみで使えます。
      • 同じマシンで開発している他のプロジェクトからは使えないので、それぞれで別のバージョンを使用したりできます。
      • モジュールは、/node_modules にインストールされます。
  • グローバルインストール
    • grunt のような、マシン全体で共有できるツールやライブラリをインストールする場合はこちら。
    • インストールしたモジュールは、マシン全体で共有されます。

試しに、gulp をインストールしてみます。

  • -gをつけるとグローパルインストールになります。
  • バージョンを明示して、それぞれ別バージョンをインストールしてみます。
$ mkdir -p test/app
$ cd test/app
$ sudo npm install -g gulp@3.8.10
$ gulp -v
[09:55:35] CLI version 3.8.10
$ npm install gulp@3.8.11
$ gulp -v
[10:02:46] CLI version 3.8.10
[10:02:46] Local version 3.8.11

インストールしたモジュールを使う

require して使います。
以下は、 uuid をインストールしてuuidを出力するサンプルです。

インストール

$ npm install uuid

uuidを使うプログラム test.js を書きます。

"use strict";

var uuid = require('uuid');
console.log(uuid.v1());

実行してみます。

$ node test.js
28bc71c0-c533-11e4-ad39-918ab091b1ed

モジュールのアンインストール

uninstallを実行すればOK

$ npm uninstall uuid

インストール済みモジュールを一覧表示する

ls でローカルにインストールしたモジュールの一覧を表示します。

$ npm ls
test/app
├─┬ gulp@3.8.11
│ ├── archy@1.0.0
│ ├─┬ chalk@0.5.1
│ │ ├── ansi-styles@1.1.0
│ │ ├── escape-string-regexp@1.0.3
│ │ ├─┬ has-ansi@0.1.0
│ │ │ └── ansi-regex@0.2.1
│ │ ├─┬ strip-ansi@0.3.0
│ │ │ └── ansi-regex@0.2.1
│ │ └── supports-color@0.2.0
│ ├── deprecated@0.0.1
│ ├─┬ gulp-util@3.0.4
│ │ ├── array-differ@1.0.0
.. 略