Node.js パッケージ マネージャー npm の具体的な使用方法

Node.js パッケージ マネージャー npm の具体的な使用方法

目的

現在の Node.js インストール パッケージにはすべて、重要なツールパッケージ マネージャー npm が付属しています。 npm には、サードパーティ モジュールのダウンロードと管理、プロジェクトの構築と実行という 2 つの主な機能があります。 npm の使用自体は複雑ではありませんが、中国本土のネットワーク環境で安心して使用できるわけではなく、作業負荷も大きくなってしまいます。この記事では、関連する内容について説明します。

npm init および package.json ファイル

通常、Node.js プロジェクトのルート ディレクトリにはpackage.jsonファイルがあります。このファイルは主に、プロジェクト名、バージョン番号、エントリ ファイル、必要なモジュールなどのプロジェクト関連の情報を構成します。このファイルは手動で作成することもできますが、通常はnpm initコマンドを使用して生成されます ( npm init -yを使用してクエリ フェーズをスキップし、デフォルトのパラメーターを使用して package.json ファイルを生成することもできます)。

ここに画像の説明を挿入

通常、 package.jsonファイルには、次のような多くのフィールドが含まれています。

{
  "名前": "ないす",
  "バージョン": "1.0.0",
  「説明」: 「ラララ」、
  "メイン": "index.js",
  「スクリプト」: {
    「開始」: 「ノード index.js」
  },
  "著者": "nx",
  「ライセンス」: 「ISC」、
  「依存関係」: {
    "電子リススタートアップ": "^1.0.0",
    "シリアルポート": "^9.2.4"
  },
  「devDependencies」: {
    "電子": "15.1.1",
    "電子再構築": "^3.2.3"
  }
}

いくつかのフィールドは比較的重要であり、関連する説明は次のとおりです。

名前プロジェクトname

versionバージョン番号

mainプロジェクトのメインエントリファイル

scripts npm runコマンド スクリプト たとえば、上で"start": "node index.js"が設定されている場合、ターミナルでnpm run startを使用してnode index.jsコマンドを実行できます (start/stop/test/restart の 4 つのコマンドでは run を省略できます)。これは、複雑なコマンドを実行する必要がある場合に非常に便利です。

dependenciesプロジェクトの実行に必要なモジュール
devDependenciesプロジェクト開発に必要なモジュール
これら 2 つのフィールドには、プロジェクトが依存するモジュール名とバージョンが格納されます。この情報を使用して、 npm installを使用してこれらのモジュールをプロジェクトにインストールできます

モジュールのインストールと管理

モジュールのインストール

モジュールのインストールにはnpm install <packageName>を使用します。たとえば、次のデモでは cowsay モジュールがインストールされます。

ここに画像の説明を挿入

npm がモジュールをインストールすると、そのモジュールが依存するモジュールもインストールされます。デフォルトでは、ディレクトリの下のnode_modulesフォルダにインストールされます。インストールされたモジュールは、 package.jsonファイルのdependenciesフィールドに記録され、モジュールと依存モジュールのバージョン情報はpackage-lock.jsonファイルに記録されます。

インストール時に、 npm install [email protected]のように、モジュール名の後に@版本號を追加して特定のバージョンをインストールできます。

モジュールがすでにインストールされている場合は、インストール コマンドを再度実行しても再インストールされません。インストールを強制するには-fまたは--forceオプションを使用します: npm install --force <packageName>

インストール時に、 -Sまたは--saveオプションを使用して、モジュールをプロジェクト実行のdependencies (デフォルト値) としてマークできます。また、 -Dまたは--save-devオプションを使用して、モジュールをプロジェクト開発に必要なdevDependenciesモジュールとしてマークすることもできます (例: npm install --save-dev <packageName> )。

モジュールはnpm install --global <packageName>のように、 -gまたは--globalオプションを使用してグローバルにインストールすることもできます。

インストール モジュール内のinstallコマンドは、 iと省略することもできます。

インストールされたモジュールを表示する

現在のディレクトリにインストールされているモジュールとその依存関係を表示するには、 npm listを使用します。

グローバルにインストールされたモジュール情報を表示するには、 -gまたは--globalオプションを使用し、表示深度を指定するには--depth=xを使用します。

ここに画像の説明を挿入

モジュールの更新

モジュールを更新するには、 npm update <packageName>を使用します。 --save --save-dev --globalなどの上記のオプションもここで使用できます。

モジュールの削除

モジュールをアンインストールするには、 npm uninstall <packageName>を使用します。
グローバル モジュールをアンロードするには、 -gまたは--globalオプションを使用します。

ネプ

npx は、npm の新バージョン (5.2 以降) に含まれるツールで、主にモジュールを実行するために使用されます。モジュールがプロジェクト ディレクトリまたはシステム環境に存在する場合は、モジュールを直接実行します。存在しない場合は、インストールする必要はありません。npx はモジュールを一時ディレクトリにダウンロードしてから実行します。

ここに画像の説明を挿入

モジュールのコンパイル

サードパーティのモジュールの中には、他の言語で開発されているものもあります。これらのモジュールは直接実行することはできず、使用する前にオペレーティング環境用にコンパイルする必要があります。これにはコンパイル ツールが必要で、最も一般的なのはnode-gypおよびnode-pre-gypツールです。一部のプラットフォームの一部のモジュールでは、他のツールが必要になる場合があります。たとえば、Windows プラットフォームでは、 windows-build-toolsツールが必要になることがよくあります。

これらのツールは必要に応じてインストールおよびコンパイルすることができ、ほとんどの場合、npm が自動的に処理します。一部のプラットフォームでは、Node.js のインストール時にこれらのツールもインストールできます。たとえば、Windows プラットフォームでは、Node.js のインストール時にインストール オプションを確認できます。

ここに画像の説明を挿入

Node.js をインストールした後、次のツールがインストールされます。

ここに画像の説明を挿入

ここに画像の説明を挿入

Node.js を最初にインストールしたときにこのオプションをチェックしなかった場合は、再インストールするだけです。

バージョン管理

上記のpackage.jsonファイルとpackage-lock.jsonファイルにはモジュール関連の情報が記録されており、重要な情報の 1 つはモジュールのバージョン番号です。

Node.js のモジュールまたはプロジェクトのバージョン番号は、ドットで区切られた 3 つの数字で構成され、左から順にメジャー バージョンマイナー バージョンパッチ バージョンとなります。

バージョン番号のルール自体は特別なものではありませんが、npm 管理や package.json、package-lock.json ファイルのバージョン番号の前後には多くの修飾子があります。これらの記号は、モジュールのインストールと更新のルールを指定します。一般的なルールは次のとおりです。

  • 変更なし: 2.2.3などの特定のバージョンを指定します。
  • latest : 利用可能な最新バージョンを使用します。
  • ^ : 左端のゼロ以外の数字を変更しない更新のみが実行されます。
  • ~ : パッチバージョンのみを更新します。
  • > : 指定されたバージョンより高いバージョンを受け入れます。
  • < : 指定されたバージョンより低いバージョンを受け入れます。
  • = : 正確なバージョンを受け入れ、 < >と組み合わせて使用​​できます。
  • - : 2.1.0 - 2.6.2など、特定の範囲のバージョンを受け入れます。
  • || : < 2.1 || > 2.6などの組み合わせ。

ソースを変更

中国本土のネットワーク環境では、モジュールのダウンロードやインストールのエラーや失敗が頻繁に発生し、プログラムが正しく動作しなくなります。再インストールするには、次の手順を試してください。

  • npm cache clean --force ;
  • node_modulesフォルダとその内容を削除します。
  • package-lock.jsonファイルがある場合は、それを削除することもできます (バックアップを忘れないでください)。
  • モジュールを再インストールします (package.json ファイルがある場合は、 npm installだけですべてのモジュールを 1 つの手順でインストールできます)。

上記の方法が機能せず、ラダーがない場合、またはラダーが機能しない場合は、ソースを変更することしかできません。

nrmツールを使用してソースを変更する

npm ソースを変更する最も便利な方法は、nrm ツールを使用することです。npm npm install -g nrmを使用してグローバルにインストールすることも、直接npx nrmを使用することもできます。 nrm の一般的な操作は次のとおりです。

  • nrm ls利用可能なソースとアドレスを一覧表示します。
  • nrm test利用可能なソース速度をテストします。
  • nrm use <registry>スイッチソース;
  • add <registry> <url>ソースを追加します。
  • del <registry>ソースを削除します。

ここに画像の説明を挿入

npmの代わりにcnpmを使用する

cnpm npmのほとんどの作業を置き換えるために使用できますが、Taobao のミラーソースを使用します。https://npmmirror.com/ を参照してください。

npm install -g cnpm --registry=https://registry.npmmirror.comを使用してcnpmをインストールできます。後で使用する場合は、本来 npm が必要な箇所を cnpm に置き換えるだけです。

要約する

Node.js 開発は基本的に npm ツールと切り離せませんが、npm も使いやすいです。発生する可能性のある主な問題はネットワークの問題です。

npm と上記の cnpm に加えて、Yarn も Node.js の一般的なパッケージ管理ツールです。詳細については、公式リンクを参照してください: https://classic.yarnpkg.com/lang/en/

Node.js パッケージ マネージャー npm の具体的な使い方については、これで終わりです。Node.js パッケージ マネージャー npm に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • node.js における npm パッケージ管理ツールの使用状況の分析
  • Node.jsのインストールとnpmのグローバル環境変数の設定の詳細な説明
  • nodejs と npm のインストールと使用方法の紹介
  • Node.js npm コマンドを使用して node.js スクリプトを実行する方法
  • node.js のデフォルトの npm インストール ディレクトリ インスタンスを変更する
  • Nodejsに組み込まれているnpmのデフォルト設定パスを変更する
  • Mac に nodejs、npm、cnpm をインストールするチュートリアル
  • Node.js パッケージ管理ツール NPM の使い方

<<:  ccs3に基づくタイムライン実装方法

>>:  Dockerイメージの作成、アップロード、プル、デプロイを理解するための記事

推薦する

本番環境でのMySQLパラメータsql_safe_updatesの使用に関する詳細な説明

序文アプリケーションのバグや DBA の誤操作が発生した場合、テーブル全体が更新される可能性がありま...

Ubuntuのインストール Matlab2020b の詳細なチュートリアルとリソース

目次1. リソースファイル2. インストール2.1 詳細な手順2.1.1 ディスクイメージのマウント...

JavaScript シミュレーション計算機

この記事では、JavaScriptシミュレーション計算機の具体的なコードを参考までに紹介します。具体...

3列レイアウトを実現するCSS3フレキシブルボックスフレックス

タイトルの通り、高さは既知で、左と右の列の幅は 300 ピクセル、中央は適応型です。弾性ボックス自体...

Linux サーバーは最大いくつのポートを開くことができますか?

目次ポート関連の概念:ポートとサービスの関係1: nmapツールが開いているポートを検出する2: n...

sbinディレクトリを生成せずにNginxをインストールするソリューション

エラーの説明: 1. Linux (CentOS 7 64) システムに Nginx (1.18.0...

標準的なHTMLの書き方は、Dreamweaverによって自動的に生成されるものとは異なります。

コードをコピーコードは次のとおりです。 <!--doctype はドキュメント タイプ htm...

一般的な HTTP ステータス コード 10 個の詳細な説明

HTTP ステータス コードは、Web サーバーの HTTP 応答ステータスを示すために使用される ...

Linux パーティションまたは論理ボリュームにファイルシステムを作成する方法

序文システムにファイル システムを作成し、それを永続的または非永続的にマウントする方法を学習します。...

Docker Gitlab+Jenkins+Harborは永続的なプラットフォーム運用を構築します

CI/CD の概要CIワークフロー設計Gitコードバージョン管理システムはコマンドラインでのみ管理で...

MySQL グラフィカル管理ツール Navicat のインストール手順

目次序文1. 全員にインストールパッケージを用意する2. Navicatをインストールし、Navic...

MySQLのSQLモードの特徴のまとめ

序文SQL モードは、MySQL がサポートする SQL 構文と、実行されるデータ検証チェックに影響...

HTML テーブルタグチュートリアル (23): 行の境界線の色属性 BORDERCOLORDARK

行ごとに、暗い境界線の色を個別に定義できます。基本的な構文<TR 境界線の色を暗くする=col...

Vue3.0+vite2は動的非同期コンポーネントの遅延読み込みを実装します

目次Viteプロジェクトを作成するコンポーネントの作成Viteプロジェクトを作成するパフォーマンスが...