目次
1. インストール系
npm init
初期化(package.jsonファイルを作成)する。
$ npm init
# パッケージ名などを入力するのを省略したい場合$ npm init -y$ npm init --yesnpm 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 -vnpm help
npmのヘルプを表示する。
# npmのヘルプを表示$ npm helpnpm 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 -globalnpm 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--jsonnpm 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 testnpm 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