目次
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