4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

npmのコマンド まとめ

Last updated at Posted at 2021-03-07

目次

  1. インストール系
  2. パッケージやnpmの情報表示
  3. パッケージの検索・監査
  4. パッケージ開発
  5. その他

1. インストール系

npm init

初期化(package.jsonファイルを作成)する。

$ npm init

# パッケージ名などを入力するのを省略したい場合
$ npm init -y
$ npm init --yes

npm install

package.json(またはpackagelock.json、npmshrinkwrap.json)ファイルに記載したパッケージとそれらのパッケージに依存するパッケージをインストールする。
具体的には、node_modulesフォルダを作成し、必要なファイルをインストールする。

# package.jsonに記載されてあるパッケージをインストールする
$ npm install

# 以下でも実行が可能
$ npm i
$ npm add

# パッケージを指定してインストールする
$ npm install [package name]
$ npm install react  

# パッケージのバージョンを指定してインストールする
$ npm install [package name]@version
$ npm install react@16            # reactのバージョン16をインストール
$ npm install react@latest        # reactの最新バージョンをインストール

# グローバルモードでパッケージをインストールする
$ npm install -g [package name]
$ npm install --global [package name]

# devDependenciesとしてインストールする(デフォルトはDependenciesとしてインストールする)
$ npm install -D [package name]
$ npm install --save-dev [package name]

# package.jsonに追記せずにインストールする
$ npm install --no-save [package name]

npm ci

package-lock.json(またはnpm-shrinkwrap.json)の内容にそってパッケージをインストールする。
(npm installコマンドより高速に動作する)

npm installとの違い

  • package-lock.json or npm-shrinkwrap.jsonが存在する必要がある。
  • package-lock.jsonの依存関係がpackage.jsonの依存関係と一致しない場合、npm ciはpackage-lock.jsonを更新せずにエラーで終了する。
  • npm ciはパッケージ全体をインストールすることしかできない(個別は無理)。
  • node_modeulesが既に存在する場合、npm ciがインストールを開始する前に自動的に削除される。
  • package.jsonやpackage-lock.jsonへの書き込みは行われない。

npm unistall

パッケージをアンインストールする。

# 指定パッケージをアンインストールする
$ npm uninstall [package name]
$ npm uninstall react     # reactをアンインストールする

# 以下でも実行が可能
$ npm remove [package name]
$ npm rm [package name]
$ npm r [package name]
$ npm un [package name]
$ npm unlink [package name]

# package.jsonのdependenciesから削除し、パッケージをアンインストールする
$ npm uninstall -S [package name]
$ npm uninstall --save [package name]

# package.jsonのdevDependenciesから削除し、パッケージをアンインストールする
$ npm uninstall -D [package name]
$ npm uninstall --save-dev [package name]

# package.jsonのoptionalDependenciesから削除し、パッケージをアンインストールする
$ npm uninstall -O [package name]
$ npm uninstall --save-optional [package name]

# package.jsonから削除せず、パッケージをアンインストールする
$ npm uninstall --no-save [package name]

npm prune

インストールされた不要なパッケージを削除する。
package-lockを有効にしている場合、自動的にnpm pruneされるため不要。

npm edit

インストールしたパッケージを編集する。
具体的には、デフォルトのエディタでインストールしたパッケージのディレクトリを開く。

$ npm edit [package name]

npm update

インストールされたパッケージを最新のバージョンに更新する。

# 全てのパッケージを最新バージョンに更新する
$ npm update

# 以下でも実行が可能
$ npm up
$ npm upgrade

# パッケージを指定した場合は、指定したパッケージのみ最新のバージョンに更新する
$ npm update [package name]

npm outdated

パッケージのバージョンが古いかをチェックする。
インストールされたパッケージの現在のバージョン、最新のバージョンなどを表示する。

$ npm outdated [package name]

npm dedupe

依存関係の都合上で同じパッケージが異なるバージョンで複数インストールされた場合などに、
パッケージの重複を整理する。

# パッケージの重複を整理
$ npm dedupe

# 以下でも実行が可能
$ npm ddp
$ npm find-dups

2. パッケージやnpmの情報表示

npm

npmの使い方を簡易表示する。
(使用できるnpmのコマンド一覧、helpを表示する方法など)

# npmの使い方を簡易表示
$ npm

# npmの使い方を詳細表示する
$ npm -l

# npmコマンドのクイックヘルプを表示する
$ npm [command] -h
$ npm install -h   # インストールのヘルプを表示

# npmのインストールバージョンを表示する
$ npm --version
$ npm -v

npm help

npmのヘルプを表示する。

# npmのヘルプを表示
$ npm help

npm config

npmの設定ファイルを管理する。
(設定ファイルの内容を表示したり、追加・削除・変更を行う)

$ npm config

# 以下でも実行が可能
$ npm c

# 設定ファイルの内容一覧を表示する
$ npm config list

# 設定ファイルに内容を追加する
$ npm config set [key] [value]

# 設定ファイルの内容を取得する
$ npm config get [key] [value]

# 設定ファイルの内容を削除する
$ npm config delete [key] [value]

# 設定ファイルの内容を削除する
$ npm config edit

npm ls

インストールされたパッケージを一覧表示する。

# インストールされたパッケージを一覧表示
$ npm list

# 以下でも実行が可能
$ npm la
$ npm li

# 表示する階層はトップレベルのみ(依存するパッケージは表示しない)
$ npm ls --depth=0

npm view

レジストリやパッケージの情報を表示する。

$ npm view [package name]

# 以下でも実行が可能
$ npm info [package name]
$ npm show [package name]
$ npm v [package name]

npm root

npmのルートフォルダを表示する。
具体的には、npm_modulesの絶対フォルダパスを表示する。

$ npm root

npm bin

npmのbinディレクトリを表示する。

$ npm bin

# グローバルモードでnpmのbinディレクトリを表示する
$ npm bin -g
$ npm bin -global

npm explore

インストールされたパッケージのディレクトリを表示する。

# 指定パッケージのディレクトリを表示
$ npm explore [package name]

npm docs

Webブラウザでパッケージのドキュメント/公式サイトを表示する。

# 指定パッケージの公式サイトを表示
$ npm docs [package name]

# 以下でも実行が可能
$ npm home [package name]

npm repo

Webブラウザでパッケージのリポジトリを表示する。

# 指定パッケージのリポジトリを表示
$ npm repo [package name]

npm bugs

Webブラウザでパッケージのバグ/Issueを表示する。

# 指定パッケージのバグ/Issueを表示
$ npm bugs [package name]

3. パッケージの検索・監査

npm search

レジストリからパッケージを検索する。

# 指定パッケージを検索
$ npm search [package name]

# 以下でも実行が可能
$ npm s [package name]
$ npm se [package name]
$ npm find [package name]

npm audit

セキュリティ監査を実行する。
(インストールしたパッケージの脆弱性をスキャンする)

# セキュリティ監査をする
$ npm audit

# セキュリティ監査を実行し、json形式で出力する
$ npm audit --json

# セキュリティ監査を実行して脆弱性のあるバージョンはアップデートをする
$ npm audit fix

# セキュリティ監査を実行して、脆弱性のあるパッケージは互換性のあるバージョンにアップデートする
# 破壊的変更がある場合でも実行するため注意
$ npm audit fix --force

# セキュリティ監査を実行して、脆弱性のあるパッケージは互換性のあるバージョンにアップデートする
# ただし、node_modulesは変更せずpackage-lock.jsonを更新する
$ npm audit fix --package-lock-only

# セキュリティ監査を実行して、脆弱性のあるパッケージは互換性のあるバージョンにアップデートする
# ただし、devDependenciesは除く
$ npm audit fix --only=prod

# セキュリティ監査を実行して、脆弱性のあるパッケージは互換性のあるバージョンにアップデートする
# 監査の修正がどのように行われるかを把握したり、インストール情報をJSON形式で出力したりする
$ npm audit fix --dry-run --json

npm doctor

npmが正常に動作する状態にあるか、使用している環境をチェックする。
チェック内容は以下の通り。

  • Node.jsとgitが実行できること
  • プライマリのnpmレジストリであるregistry.npmjs.comが利用可能できあること
  • node_moduleが存在し、現在のユーザーが書き込み可能であること
$ npm doctor

4. パッケージ開発

npm adduser

指定のレジストリにユーザーアカウントを追加する。

# http://myregistry.example.comレジストリにユーザーアカウントを追加する場合
$ npm adduser --registry=http://myregistry.example.com

npm test

パッケージのテストをする。

$ npm test

npm build

パッケージのビルドをする。

$ pm build [package folder]

npm rebuild

パッケージのリビルドをする。

$ npm rebuild [package folder]

npm publish

パッケージを公開する。

$ npm publish [folder]

npm unpublish

パッケージを非公開にする。
レジストリからパッケージを削除する。

$ npm unpublish [package]

npm version

パッケージのバージョンを更新する、など。

# メッセージを設定してバージョン番号を更新する場合(%sはバージョン番号に置き換えられる)
$ npm version patch -m "Upgrade to %s for reasons"

npm deprecate

パッケージの指定バージョンを非推奨にする。

$ npm deprecate[package@version]

npm dist-tag

ディストリビューションタグを変更する。

# ディストリビューションタグを追加する場合
$ npm dist-tag add[package@version][tag]

npm shrinkwrap

npm-shrinkwrap.jsonファイルを作成する。

$ npm shrinkwrap

npm pack

パッケージからtarballを作成する。

npm pack [package]

npm ping

レジストリにpingする。

$ npm ping [registry]

npm profile

レジストリのプロフィールを変更する。

# プロフィールのプロパティに値を設定する場合
$ npm profile set [property] [value]

npm star / npm unstar

お気に入りのパッケージをマークする / マークをはずす。

# お気に入りのパッケージをマークする
$ npm star[package]

# お気に入りのパッケージのマークをはずす
$ npm unstar [package]

npm stars

お気に入りのパッケージを表示する。

$ npm stars [user]

5. その他

npm completion

コマンドのタブ補完を可能にする。

# Bashに設定する場合
$ npm completion >> ~/.bashrc

# Zshに設定する場合
$ npm completion >> ~/.zshrc

npm xmas

ネタ、クリスマスツリーのアスキーアートを表示する。

$ npm xmas
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?