1、npmの説明
1.1 コマンドの使用方法
npm explain <package-spec>
别名: why
1.2 説明
このコマンドは、現在のプロジェクト内の他のパッケージによって参照されるパッケージに至る依存関係チェーンを出力します。
1 つ以上のパッケージ仕様が指定されている場合、指定子の 1 つと一致するパッケージのみの関係が解釈されます。
パッケージ仕様 ./node_modules
では、次のフォルダーを参照することもできます。
たとえば、npm のソース ツリーで unpipe を実行すると、次のように npm explain
表示されます。
特定のフォルダー内のパッケージを指定する場合は、それをコマンドの引数として渡します。これは、プロジェクト内で競合するバージョン要件を満たすために特定の依存関係がコピーされる理由を解明するときに役立ちます。
1.3 構成
json
- デフォルト: false
- タイプ: ブール値
通常の出力の代わりに JSON データを出力するかどうか。
- その中で
npm pkg set
、 JSON.parse() を使用してコレクション値を解析してから、 に保存できますpackage.json
。
すべての npm コマンドがサポートしているわけではありません。
workspace
- デフォルト:
- 型:文字列(複数設定可能)
この構成オプションで定義されたワークスペースのみを実行することでフィルタリングしながら、現在のプロジェクトの構成されたワークスペースのコンテキストでコマンドを実行できるようにします。
workspace
構成の有効な値は次のとおりです。
- ワークスペース名
- ワークスペースディレクトリへのパス
- 親ワークスペース ディレクトリへのパス (そのフォルダー内のすべてのワークスペースが選択されます)
コマンドを 設定npm init
するときに、まだ存在しないワークスペースのフォルダーに設定して、フォルダーを作成し、プロジェクト内にまったく新しいワークスペースとして設定できます。
2、npm探検
2.1 コマンドの使用
npm explore <pkg> [ -- <command>]
2.2 説明
インストールされたパッケージの指定されたディレクトリにサブシェルを生成します。
コマンドが指定されている場合、そのコマンドはサブシェルで実行され、すぐに終了します。
これは、 node_modules
フォルダー内の git サブモジュールの場合に便利です。
npm explore some-dependency -- git pull origin master
パッケージは後で自動的に再構築されないため、変更を加える場合は必ずそれを使用して ください
npm rebuild <pkg>
。実際の使用では、このコマンドはほとんど使用されず、少し役に立ちません。基本的に、ほとんどのパッケージには git サブモジュールが存在することはほとんどありません。実際の使用では、git サブモジュールには利点と欠点があります。シナリオによっては使用される場合もあります。
2.3 構成
shell
- デフォルト: SHELL 環境変数、Posix の「bash」、Windows の「cmd.exe」
- タイプ: 文字列
npm explore
コマンドを実行するシェル 。
3、npm find-dupes
3.1 コマンドの使用方法
npm find-dupes
3.2 説明
実際にパッケージ ツリーを変更せずに、npm が重複のみを出力する--dry-run
モード で 実行します。npm dedupe
3.3 構成
install-strategy
- デフォルト:「吊り上げられた」
- タイプ: 「ホイスト」、「ネスト」、「シャロー」、または「リンク」
node_modules にパッケージをインストールするためのポリシーを設定します。hoisted (デフォルト): 非レプリケーションをトップレベルにインストールし、ディレクトリ構造内で必要に応じてレプリケーションを行います。nested: (以前の --legacy-bundling) 適切な場所にインストールされ、プロモーションは必要ありません。Shallow (以前の --global-style) は、トップレベルに直接 DEP をインストールするだけです。linked: (実験的)node_modules/.store にインストールされ、所定の場所にリンクされ、昇格されません。
legacy-bundling
- デフォルト: false
- タイプ: ブール値
- 非推奨: このオプションは有効になり、次のものに置き換えられました。
--install-strategy=nested
でのパッケージのインストールを昇格させず node_modules
、依存するパッケージと同じ方法でパッケージをインストールします。データの重複排除がないため、非常に深いディレクトリ構造が発生し、パッケージのインストールが重複する可能性があります。設定 --install-strategy=nested
。
global-style
- デフォルト: false
- タイプ: ブール値
- 非推奨: このオプションは非推奨となり、次のオプションに置き換えられました。
--install-strategy=shallow
最上位レベルに直接の依存関係のみ node_modules
をインストールしますが、より深い依存関係を促進します。設定 --install-strategy=shallow
。
strict-peer-deps
- デフォルト: false
- タイプ: ブール値
に設定され true
、 --legacy-peer-deps
設定されていない場合、 peerDependencies
npm が非ピア依存関係に基づいて適切な解決策を合理的に推測できる場合でも、競合はインストール失敗として扱われます。
デフォルトでは、依存関係グラフ内の競合は 、たとえ一部のパッケージが パッケージのオブジェクトで設定された範囲を超えるpeerDependencies
ピア依存関係を受け取ることになる場合でも、最も近い非ピア依存関係の仕様を使用して解決されます 。peerDependencies
このようなオーバーライドを実行すると、競合と関連するパッケージを説明する警告が出力されます。設定されている場合 --strict-peer-deps
、この警告は失敗とみなされます。
package-lock
- デフォルト値: true
- タイプ: ブール値
false に設定すると、 package-lock.json
ファイルはインストール中に無視されます。true に設定すると、書き込みもブロックされます package-lock.json
。
omit
NODE_ENV
デフォルト:環境変数が「production」に設定されている場合は「dev」 、それ以外の場合は空です。- タイプ:「dev」、「optional」、「peer」(複数回設定可能)
ディスク上のインストール ツリーから除外される依存関係の種類。
これらの依存関係は引き続き解決され、 package-lock.json
または npm-shrinkwrap.json
ファイルに追加されることに注意してください。これらはディスクに物理的にインストールされていないだけです。
パッケージ タイプが --include
と --omit
リストの両方に表示される場合、それは含まれます。
生成された省略リストに が含まれている場合 'dev'
、 NODE_ENV
環境変数はすべてのライフサイクル スクリプトに対して に設定されます 'production'
。
ignore-scripts
- デフォルト: false
- タイプ: ブール値
true の場合、npm は package.json ファイルで指定されたスクリプトを実行しません。
を設定した場合 ignore-scripts
、特定のスクリプトを実行することを明示的に意図したコマンド ( npm start
、npm stop
、npm restart
、npm test
など npm run-script
) は引き続き意図したスクリプトを実行しますが、プレスクリプトやポストスクリプトは実行しないことに注意してください。
audit
- デフォルト値: true
- タイプ: ブール値
「true」の場合、監査レポートは現在の npm コマンドを使用して、デフォルトのレジストリおよびスコープに対して構成されているすべてのレジストリに送信されます。
bin-links
- デフォルト値: true
- タイプ: ブール値
パッケージの実行可能ファイルへのシンボリック リンク (Windows では .cmd
shim ) を作成するように npm に指示します。
これを行わない場合は false に設定します。これは、表向きは Unix システムであっても、一部のファイル システムがシンボリック リンクをサポートしていないという事実を回避するために使用できます。
fund
- デフォルト値: true
- タイプ: ブール値
それぞれの最後に「true」の npm install
メッセージが表示され、資金を探している依存関係の数が確認されます。
workspace
- デフォルト:
- 型:文字列(複数設定可能)
この構成オプションで定義されたワークスペースのみを実行することでフィルタリングしながら、現在のプロジェクトの構成されたワークスペースのコンテキストでコマンドを実行できるようにします。
workspace
構成の有効な値は次のとおりです。
- ワークスペース名
- ワークスペースディレクトリへのパス
- 親ワークスペース ディレクトリへのパス (そのフォルダー内のすべてのワークスペースが選択されます)
コマンドを 設定npm init
するときに、まだ存在しないワークスペースのフォルダーに設定して、フォルダーを作成し、プロジェクト内にまったく新しいワークスペースとして設定できます。
この値は、子プロセスの環境にはエクスポートされません。
workspaces
- デフォルト: null
- タイプ: null またはブール値
true に設定すると、 構成されているすべての ワークスペースのコンテキストでコマンドが実行されます。
これを明示的に false に設定すると、 install
このようなコマンドはワークスペースを完全に無視します。明示的に設定されていない場合:
node_modules
ツリー 上で 実行されるコマンド (インストール、更新など) は、ワークスペースをnode_modules
フォルダーにリンクします。workspace
- 他の操作 (テスト、実行、公開など) を実行するコマンドは、構成で 1 つ以上のワークスペースが指定されていない限り、ルート プロジェクトで実行されます 。
この値は、子プロセスの環境にはエクスポートされません。
include-workspace-root
- デフォルト: false
- タイプ: ブール値
コマンドに対してワークスペースを有効にする場合は、ワークスペース ルートを含めます。
false の場合、 workspace
構成で単一のワークスペースを指定するか、 workspaces
フラグですべてのワークスペースを指定すると、npm はルート プロジェクトではなく、指定されたワークスペースでのみ実行されます。
この値は、子プロセスの環境にはエクスポートされません。
install-links
- デフォルト: false
- タイプ: ブール値
ファイルをセットアップするとき: プロトコルの依存関係は、シンボリック リンクを作成するのではなく、通常の依存関係としてパッケージ化およびインストールされます。このオプションはワークスペースには影響しません。
4、npmファンド
4.1 コマンドの使用方法
npm fund [<package-spec>]
4.2 説明
このコマンドは、特定のプロジェクトの依存関係に資金が提供される方法に関する情報を取得します。パッケージ名が指定されていない場合は、探しているすべての依存関係がツリー構造でリストされ、ファンドの種類とアクセスする URL がリストされます。パッケージ名が指定されている場合、 --browser 構成パラメーターを使用してその資金調達 URL を開こうとします。パッケージに複数の資金源がある場合は、 曖昧さを解消するためのオプションが
ユーザーに求められます 。--which
リストでは重複エントリが回避され、同じ URL を共有するすべてのパッケージが 1 つのエントリにスタックされます。したがって、リストの npm ls
形式は の出力とは異なります。
4.3 ワークスペースのサポート
次のオプションの例を使用すると、結果をフィルタリングして、単一のワークスペースとその依存関係のみを含めることができます。
例:
構成されたワークスペースで実行される例を次に示します npm fund
。
同じプロジェクト内の特定のワークスペースのみで b
フィルタリングする場合に何が起こるかを示す例を次に示します。
4.4 構成
json
- デフォルト: false
- タイプ: ブール値
通常の出力の代わりに JSON データを出力するかどうか。
- その中で
npm pkg set
、 JSON.parse() を使用してコレクション値を解析してから、 に保存できますpackage.json
。
すべての npm コマンドがサポートしているわけではありません。
browser
- デフォルト: OS X:
"open"
、Windows:"start"
、その他:"xdg-open"
- タイプ: null、ブール値、または文字列
npm コマンドは、Web サイトを開くためにブラウザーによって呼び出されます。
false
ブラウザの動作を抑制し、代わりに URL を端末に出力するように設定します 。
true
デフォルトのシステム URL オープナーを使用するように設定します 。
unicode
- デフォルト: Windows では false、 または
LC_ALL
環境変数で 定義されているUnicode ロケールを持つ mac/unix システムでは true 。LC_CTYPE
LANG
- タイプ: ブール値
true に設定すると、npm はツリー出力で Unicode 文字を使用します。false の場合、Unicode グリフの代わりに ASCII 文字が使用されます。
workspace
- デフォルト:
- 型:文字列(複数設定可能)
この構成オプションで定義されたワークスペースのみを実行することでフィルタリングしながら、現在のプロジェクトの構成されたワークスペースのコンテキストでコマンドを実行できるようにします。
workspace
構成の有効な値は次のとおりです。
- ワークスペース名
- ワークスペースディレクトリへのパス
- 親ワークスペース ディレクトリへのパス (そのフォルダー内のすべてのワークスペースが選択されます)
コマンドを 設定npm init
するときに、まだ存在しないワークスペースのフォルダーに設定して、フォルダーを作成し、プロジェクト内にまったく新しいワークスペースとして設定できます。
この値は、子プロセスの環境にはエクスポートされません。
which
- デフォルト: null
- タイプ: null または数値
資金源が複数ある場合は、対応するインデックスのソース URL を開きます。1 つだけの場合は、--that1 を追加するか、パラメータを追加しません。
対応するページがポップアップし、1 人以上の人がスポンサーになることができます。