npmコマンド チートシート

npmコマンド チートシート:install、ci、update、run、semver | We.Inc

日常的に使うnpmコマンドをフラグ付きで検索し、npm ciとnpm installの違いを確認し、^1.2.3や~0.4などのsemver範囲が特定のバージョンを許可するかをブラウザーでテストできます。

npmコマンド チートシート

最もよく使うnpmコマンドは、パッケージを追加するnpm install、CIでクリーンインストールするnpm ci、バージョン範囲内で更新するnpm update、パッケージを削除するnpm uninstall、そしてスクリプト名を続けて実行するnpm runです。下の表で全コマンドを検索し、キャレットやチルダの範囲が何を許可するかをテストしてみましょう。

まず覚えるべき5つ

ネット上のコマンド一覧は、たいていコマンド名を並べるだけで終わっています。このページでは、実際によく使うフラグ、エイリアス、各コマンドがpackage.jsonとロックファイルに何を書き込むかを加え、さらにキャレット、チルダ、x範囲が実際にどのバージョンを受け入れるかを確認できる範囲テスターも用意しました。

よくある質問

npm installとnpm ciの違いは何ですか?

npm installはpackage.jsonからバージョンを解決し、ロックファイルを更新することがあり、既存のnode_modulesを残します。npm ciはロックファイルが必須で、最初にnode_modulesを削除し、ロックファイルに記載された内容を正確にインストールします。package.jsonと食い違う場合は失敗し、どちらのファイルにも書き込みません。

npm updateはpackage.jsonを変更しますか?

デフォルトでは変更しません。npmのドキュメントではnpm updateのsaveはfalseとされているため、変わるのはnode_modulesとロックファイルだけです。新しいバージョンをpackage.jsonに書き戻したい場合は--saveを付けます。

^1.2.3のキャレットはどういう意味ですか?

左端の0以外の数字が変わらない範囲での変更をすべて許可します。^1.2.3は1.2.3以上の1.xを受け入れますが、2.0.0は受け入れません。1.0.0未満ではより厳しくなり、^0.2.3は0.2.xのパッチだけを受け入れます。

npm run devの裏で動くスクリプトにフラグを渡すには?

フラグの前に--を置きます。例えばnpm run dev -- --port 4000のようにします。2つのダッシュより後ろはすべて、npmではなくスクリプトに渡されます。

npm outdatedのWantedとLatestは何を意味しますか?

Wantedはpackage.jsonの範囲が許可する最も高いバージョンです。Latestはパッケージの作者がレジストリでlatestとタグ付けしたバージョンです。LatestがWantedより高い場合、それを取得するには範囲を書き換える必要があります。

install、ci、updateは役割が違う

スクリプトはいくつかのルールがあるショートカット

semver範囲の解説

各範囲の展開結果(npmが使うnode-semverのルール)

package.jsonのスクリプト

典型的なscriptsブロック

prebuildはbuildの前に自動で実行されます。viteなどのローカルバイナリはnode_modules/.binから解決されます。

CI用のインストール手順

再現性のあるクリーンインストール、ビルド、そして深刻な問題が見つかったときだけ失敗するセキュリティチェックです。

セットアップ

デフォルトの回答でpackage.jsonを作成します。

インストール

package.jsonに記載されたものをすべてインストールします。エイリアスはnpm iとnpm addなどです。

インストール

パッケージをdependenciesとロックファイルに追加します。保存はデフォルトで有効です。

インストール

devDependenciesに保存します(長い形式は--save-dev)。

インストール

キャレット範囲ではなく正確なバージョンで保存します(--save-exact)。

インストール

optionalDependenciesに保存します(--save-optional)。

インストール

package.jsonに記録せずにインストールします。

インストール

プロジェクトではなく、npmのプレフィックスフォルダーにグローバルインストールします。

インストール

本番サーバーなどでdevDependenciesをスキップします。

インストール

古いnpmと同じようにピア依存関係の競合を無視します。

インストール

ロックファイルからクリーンインストールします。node_modulesを削除し、package.jsonもロックファイルも書き換えません。エイリアスはnpm clean-installです。

更新

範囲が許す最新バージョンにパッケージを更新します。エイリアスはupとupgradeです。

更新

同じ処理に加え、新しいバージョンをpackage.jsonに書き戻します。

更新

グローバルパッケージを最新(latest)タグに更新します。

更新

メジャーバージョンをまたいでも最新(latest)タグに更新します。

更新

各依存関係のCurrent、Wanted、Latestを表示します。

削除

パッケージと、package.jsonおよびロックファイル内のエントリを削除します。エイリアスはremove、rm、r、un、unlinkです。

削除

ファイルは削除しますが、package.jsonのエントリは残します。

削除

グローバルパッケージを削除します。

スクリプト

package.jsonのスクリプトをすべて一覧表示します。

スクリプト

devスクリプトを実行します。通常は開発サーバーです。

スクリプト

--の後ろのフラグをnpmではなくスクリプトに渡します。

スクリプト

スクリプトが存在しない場合は、失敗せずに何もしません。

スクリプト

startスクリプトを実行します。test、stop、restartもrunなしで実行できます。

スクリプト

pretest、test、posttestを順番に実行します。

スクリプト

パッケージのバイナリをグローバルインストールせずに実行します。

セキュリティ

依存ツリー内の既知の脆弱性をレジストリに問い合わせます。

セキュリティ

宣言した範囲内に収まる修正を適用します。

セキュリティ

メジャーバージョンを含め、範囲外の修正も許可します。変更内容を確認してください。

セキュリティ

深刻度がhighまたはcriticalの場合だけエラーで終了します。CIで便利です。

調査

インストール済みの依存ツリーを表示します。

調査

パッケージの公開済みバージョンを一覧表示します。

調査

グローバルパッケージのインストール先フォルダーを表示します。

ワークスペース

1つのワークスペースでスクリプトを実行します(--workspace=a)。

ワークスペース

すべてのワークスペースでスクリプトを実行します。

npmコマンドを検索

コマンドを検索

save、global、lock、script

グループで絞り込む

すべて

npmコマンドとフラグ

コマンド

グループ

内容

{n}件のコマンドを表示中

検索に一致するコマンドはありません。

コピー

semver範囲テスター

範囲

バージョン

範囲{r}は{e}に展開されるため、バージョン{v}はこれを満たします。

範囲{r}は{e}に展開されるため、バージョン{v}はこれを満たしません。

^1.2.3のような範囲と、1.4.0のような完全なバージョンを入力してください。

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る