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

執筆者:

関連記事

GoogleアナリティクスのTips

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

Apache2のモジュール設定

Apache2のモジュール設定について Apache2はデフォルトでGCIモジュール(CGID)が無効になっている。 Apache2のモジュールの有効化/無効化の設定は、a2enmodコマンド(有効化 ...

ES6のクラス定義について

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

Chromeを使ったAngular-cliのオンラインデバッグの方法について

当セクションでは、angular-cliの開発において、ブレイクポイントを設定するオンラインデバッグの方法について説明したいと思います。ChromeのデベロッパーツールによってTypescriptのソ ...

TypeScriptのモジュールについて

モジュールについてまとめました。 (内部モジュール) 共通の関数などをグローバル空間に記載したくない場合などに使用する。   (外部モジュール) 別ファイルとして外部にある機能を利用する仕組 ...