node.js WEB WEBフロントエンド開発 その他のTIPS

npmについて

投稿日:2017年3月18日 更新日:

コマンドについて

・コマンド

コマンド 説明
npm init 対話形式で項目を入力してpackage.jsonを作成します。
npm init -y デフォルト値でpackage.jsonを作成します。
npm ls インストール済みパッケージを一覧表示します(依存パッケージも含めて表示)。
npm ls --depth=0 インストール済みパッケージを一覧表示します(依存パッケージは非表示)。
npm ls パッケージ インストールされたパッケージを個別に確認します。
npm install package.jsonの内容に従って、パッケージをインストールします。
npm install パッケージ パッケージを指定してプロジェクトにインストールする

[--save]オプション : パッケージ情報をpackage.jsonに書き込みます。
[--save-dev]オプション : パッケージ情報をdevDependenciesにバージョン付きでpackage.jsonに書き込みます(開発時のみに利用するライブラリのバージョンを管理します)。

npm uninstall パッケージ パッケージをプロジェクトからアンインストールする。

[--save]オプション : パッケージ情報をpackage.jsonに書き込みます。
[--save-dev]オプション : パッケージ情報をdevDependenciesにバージョン付きでpackage.jsonに書き込みます(開発時のみに利用するライブラリのバージョンを管理します)。

npm info パッケージ versions --json npmでリリースされている全てのバージョンを表示する。
npm help --help ヘルプを表示します。
npm -version --version バージョンを表示します。

・オプション

コマンド 説明
-g グルーバル領域のパッケージを扱います。

 

TIPS

postinstallコマンド

npm-scriptsにはユーザーのアクションをきっかけに自動で実行してくれるコマンドがいくつか用意されており、postinstallコマンドとはnpm installコマンドの終了時に実行されるコマンドです。

上記の例では、npm installを実行してモジュールのインストールが終了したタイミングで、TypeScriptの型定義ファイルのインストールコマンドを実行します。

 

インストールしたバージョンについて

パッケージをインストールすると、package.json にはインストールした(その時点での最新)バージョンが記載されますが、バージョン番号の前に ~(チルダ)や^(キャレット)が付きます。

~: マイナーバージョンは最新で、それ以外は固定  1.2.3 <= ~1.2.3 < 1.3.x
^: メジャーバージョンは固定で、それ以外は最新  1.2.3 <= ^1.2.3 < 2.x.y

バージョンを指定してインストールしたいときは、パッケージ名の後ろに「@バージョン」をつけます。

 

 

package-lock.jsonについて

  • npm5から導入されたファイルです。
  • package-lock.jsonはnode_modules配下やpackage.jsonに変更があった際に自動で作成・変更されるファイルです。npm install npm update npm uninstallなど、パッケージに変更が加えられるタイミングで作成・変更されます。
  • リポジトリのソースの一部として組み込まれるように設計され、様々な目的のために利用されます。
  • package-lock.jsonを導入する目的は以下のとおりです。
    • リポジトリの依存関係を表現する単一の方法を提供する。 チームメンバーそれぞれの環境での開発時や、CIによるデプロイ時など、環境に限らず同じ依存関係をもってサブモジュールをインストールできることを保障します。
    • 対象のサブモジュールに対して、過去のバージョンに容易に戻れるような手段を提供する。
    • 可読性のあるソースコードにより、モジュール改装の変更の可視化を容易にする。
    • npmパッケージのインストールプロセスの最適化。すでにインストール済みのパッケージのメタデータ解析をスキップする事により、インストールプロセスの最適化を実現します。
  • ファイルが公開が可能
  • トップレベルモジュールにpackage-lock.jsonファイルがある場合、下位モジュールでのpackage-lock.jsonは無視される。

 

 

参考
Node.jsのpackage.jsonのバージョン指定の"~(チルダ)"と"^(キャレット)"の違い
package.jsonのパッケージバージョンに記載される ^ (キャレット) とは?どうしてつくのか?
npmでパッケージの特定のバージョンをインストールする

npm5から導入された package-lock.jsonについて

 

 

 

スポンサーリンク

スポンサーリンク

-node.js, WEB, WEBフロントエンド開発, その他のTIPS

執筆者:

関連記事

ECLIPSEの備忘録

今後、ECLIPSEの備忘録としてまとめていきたいと思います。   JAVA編 Javadocつける (Add Javadoc Comment) Alt + Shift + J   ...

Google Adsense Tips

今後、Google Adsense Tipsをまとめたいと思います。 よろしくお願いします。   設置できる広告の数 PC版表示では、1ページに貼れる広告の数は「広告ユニット」が3つ、「リン ...

Node.jsのrequire関数のモジュール読み込みについて

Node.js のモジュール機構について(JavaScript の場合) ディレクトリ構造 Node.js のパッケージマネージャーである npm を使う場合、プロジェクト ディレクトリは以下のような ...

JavascriptのEventオブジェクトについて

1.function(e) {} の引数eの意味合い 引数eはイベントオブジェクトです。イベントハンドラ、イベントリスナとして設定したコールバック関数が受け取ることができる。 JavaScriptの関 ...

nodistの使い方

  コマンド 動作 nodist -v nodistのバージョンを表示する nodist dist インストール可能なNode.jsのバージョンを表示する nodist ls インストールさ ...