npm installの使い方とnpm ciの使い方

npm installの使い方とnpm ciの使い方

今さらですが、npmコマンドの使い方です。Eclipseでいうmavenのようなものです。

npm init

view raw
gistfile1.txt
hosted with ❤ by GitHub

という使い方です。ここから始まります。

この配下をnpm管理下にするということです。package.jsonが作成されると思います。

次にツール(パッケージ)を入れます。gulpを入れてみます。

npm install –save-dev gulp

view raw
gistfile1.txt
hosted with ❤ by GitHub

とタイプします。

「node_modules」というフォルダが作成され、その配下にgulpとそれに依存するツールが全てインストールされます。

「npm install」は、「npm i」と省略することが可能です。

--save-dev

npm installする際に「–save-dev」を付けると、「開発中のみ使用するツール」という意味になります。

このインストールをすると、package.jsonが変わっていると思います。

見て分かるように、gulpは「dependencies」ではなく、「devDependencies」に追加されているのがわかります。

本番の時にいらないツール類は「–save-dev」を付けてインストールします。

ちなみに、–save-devは-Dと短縮することが可能です。(-Dオプションは案外知られていません)

アンインストール

npm uninstall –save-dev gulp

view raw
gistfile1.txt
hosted with ❤ by GitHub

とタイプします。

-g

「-g」をつけると、グローバルインストール、というインストールになります。通常通りインストールされ、パスも通るのでそのまま使えます。package.jsonに変更はありません。

npm install chai -g

view raw
gistfile1.txt
hosted with ❤ by GitHub

「-g」をつけないインストールを、ローカルインストールといいます。

この場合もアンインストールはinstallをuninstallに変えるだけです。

npm uninstall chai -g

view raw
gistfile1.txt
hosted with ❤ by GitHub

グローバルインストールしたモジュールを確認するにはlsコマンドを使用します。

npm ls -g –depth=0

view raw
gistfile1.txt
hosted with ❤ by GitHub

npm install

このコマンドを実行すると、package.jsonの依存関係(dependenciesやdevDependencies)を見て、全てインストールします。

チームで開発する場合はpackage.jsonの依存関係はよく追加されるので、コミット対象となると思います。

誰かが追加した依存関係をインストールする為には、npm installと実行する必要がでてくるのです。

バージョン指定してインストールする

パッケージのバージョン最新をインストールしたくない場合ってありますよね。

そう言う場合はバージョン指定してインストールすることが出来ます。

@バージョンとすればそのバージョンをインストールする事が可能です。

ここで言葉の定義についてです。

0.9.1のそれぞれについて以下のように呼ぶことが多いです。セマンティックバージョニングと言います。

バージョン 呼称
0 メジャーバージョン
9 マイナーバージョン
1 パッチバージョン

^(キャレット)と~(チルダ)の違い

npmのメジャーバージョンが5になってからパッケージをインストールするとデフォルトで^(キャレット)がつくようになりました。

~0.9.1と書いていると、0.9.1から0.9.9までバージョンが上がることを許容します。

^1.1.1と書いていると、1.1.1から1.9.9までバージョンが上がることを許容します。

なんだかややこしいですね。

バージョン固定したい

npm installすると勝手に^(チルダ)がつきますが、これは「オープンソースの開発者がマイナーバージョンアップで互換性を壊すような真似はしない」ことが前提です。が、実際そうでもないモジュールがあります。

なのでバージョン固定したい、というケースがあります。

package-lock.jsonがnpm ver5.x.xから追加されましたが、こちらもバージョンを固定する追加機能です。

npm shrinkwrapコマンドでnpm-shrinkwrap.jsonを作成することによってバージョンが固定されるようになります。

npmのバージョン確認方法

npm -vで確認できます。

とすると依存関係のあるパッケージをツリー構造で確認することが出来ます。

npm ciの使い方

npm installするとnode_modulesが更新される可能性があるため、package-lock.jsonが変更される可能性があります。

このnode_modulesが曲者で、更新されてしまうと動作が変わってしまったりすることが多々あるので、npm installするよりnpm ciした方が良い場合があります。

例えばプロジェクトに新規参画者はpackage.jsonからnpm installするよりもnpm ciする方が良いです。

理由は以下です。

  • node_modulesを削除してからインストールする
  • package-lock.jsonが更新されない

https://docs.npmjs.com/cli/ci

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA