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について

 

 

 

スポンサーリンク

スポンサーリンク

-WEB, その他のTIPS

執筆者:

関連記事

Dockerコマンド

Dockerの備忘録をまとめました   dockerコマンド docker [command] (例)

コマンド 説明 ve ...

Javascriptのアロー関数について

  アロー関数 ES2015(ES6)の新構文の一つ 無名関数の省略記法。 無名関数とアロー関数とは完全に等価というわけではないため、取り扱いにはいくつかの注意が必要。 =>(矢)を使 ...

Webpackを使ったWEBフロントエンド開発

Webpackとはビルドツールの1つであり、モジュール管理ツールとしての側面も持っています。フロントエンドのビルドツールとしては、他にGulpとGruntなどがありますが、それらの仲間といった感じだと ...

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

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

GoogleアナリティクスのTips

GoogleアナリティクスのTipsです。 今後、tipsをふやしていきます。     Googleアナリティクスのプロパティ設定が保存できないときの対応 Googleアナリティク ...