npmコマンドについてのまとめ
初めに
Node.jsをはじめ,Javasceriptを使用してのWeb開発に欠かせなくなってきているnpmコマンドについての備忘録。
目次
npmの概要
npmとは
npmとは「Node Package Manager」の略で,その名の通りNode.jsのモジュールを管理するツール。
JavaScriptでのWebアプリの開発には,Node.js及びnpmモジュールが多く使われるようになっている。
その為,npmコマンドを叩くことが基本の「き」のような状況。
npmのインストールとpackage.json
npmのインストールは,Node.jsをインストールすれば,自動的にインストールされる。
各モジュールは,必要に応じてpackage.jsonで管理していくことになる。
依存関係のモジュールも一括インストールしてくれるので便利。
node_modules フォルダ
カレントディレクトリ配下にあり、カレントディレクトリにインストールされるモジュールの中身が配置されるフォルダ。
エラー等に悩んだら,フォルダを一端削除してインストールし直すと良いかもしれない。
scopeについて
scopeとは,パッケージ名の前につける@から/までの名前空間の事。@以降にnpmのユーザーアカウント名もしくは組織名が入ります。
これによってパッケージ名が重複しても,別のモジュールとして認識される。
パッケージのバージョン表記
パッケージのバージョンは主に三つの数字で表される。
意味は,前から・・・
- Major Release:仕様そのものの変更。upgradeする場合はアプリケーションの改修が必要になる可能性あり。
- Minor Release:仕様を維持した状態での機能追加。upgradeしてもアプリケーションは壊れない。
- Patch Release:バグ修正。upgradeしてもアプリケーションは壊れない。
となる。
各コマンドについて
バージョンの取得
1 | npm -v |
初期化
ディレクトリにpackage.jsonを作成し,プロジェクトを開始する。
init後にアプリ名やヴァージョンなど幾つか質問されるが,特に設定しなくともよい。
問い合わせが面倒なら「-y」を付けるとよい。
1 | PS D:\Learning\spa> npm init This utility will walk you through creating a package.json file. |
パッケージインストール
次のコマンドで,自分の使いたいパッケージを指定する。
package.jsonに記入されると共に,パッケージがダウンロードされる。この時,依存関係にあるパッケージを同時にダウンロードされる。
ダウンロードされたパッケージはnode_modules以下に配置される。
1 | npm install パッケージ名 |
既にpackage.jsonに記入がある場合は,次のコマンドを入力する。
package.jsonさえコピーすれば,別の端末で同じ環境を構築することができる。
1 | npm install |
次のオプションを付ける事ができる。
–no-save
package.json に書き込まない場合に指定します。npm4 までは package.json に書き込まないのがデフォルトでしたが、npm5 からは –save がデフォルトとなりました。
–save
依存パッケージの場合に指定します。package.json の dependencies に記録されます。このパッケージを誰かが npm install したときに依存パッケージとしてインストールされます。
–save-optional
依存はするけれど必須ではないパッケージの場合に指定します。package.json の optionalDependencies に記録されます。npm install でインストールされますが、インストールに失敗してもスルーされます。
–save-dev
テストツールなど、開発者が使用するパッケージの場合に指定します。package.json の devDependencies に記録されます。このパッケージを npm install しても、インストールされません。ただし、パッケージを Git から clone して npm install した場合は開発者とみなされ、インストールされます。
パッケージをアンインストールするには次のコマンドを使う。
1 | npm uninstall パッケージ名 |
上記- -saveオプション等使う事が出来る。
パッケージ情報
インストール済みのパッケージ一覧を表示する。
1 | npm list |
依存関係のパッケージを省いた一覧は次のオプションを付ける。(自分がインストールしたパッケージのみ)
1 | npm list --depth=0 |
パッケージアップデート
使用しているパッケージに更新されているか確認する。
1 | npm outdated |
パッケージをアップデートする。
1 | npm update パッケージ |
パッケージ名を省略するとpackage.jsonに記入された全てのパッケージをアップデートする。
1 | npm update |
パッケージアンインストール
パッケージをアンインストールする。
1 | npm uninstall パッケージ |
パッケージ検索
キーワードに関連するパッケージを npm リポジトリから検索します
1 | npm search キーワード |
パッケージの詳細情報
1 | npm info パッケージ |
パッケージのバージョン
1 | npm info パッケージ version // 最新バージョンを表示 |
タスク実行
タスクはpackage.jsonのscript:に記述します。
1 | { |
此方は,少し複雑なので項を改め纏めます。