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

執筆者:

関連記事

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

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

(webpack2)webpack-dev-serverを使ったWEBフロントエンド開発

当セクションでは前回の『Webpackを使ったWEBフロントエンド開発』をもとに具体的なプロジェクトを作成して、webpackの機能を把握したいと思います。使用するパッケージはwebpack2になりま ...

ES6のクラス定義について

  概要 JavaScript はプロトタイプベースの言語であり、クラスベースの言語とは異なりクラスというものが存在しませんでした。 プロトタイプを使ってクラスと同等なことを実現するというこ ...

lite-serverを使った開発サーバの構築

Lite-Serverのパッケージを使った開発サーバの構築方法を説明したいと思います。開発用のタスクはnpm-scriptsを使用します。 記載した実行環境は以下の通りです。Node.jsのインストー ...

GoogleアナリティクスのTips

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