目次
依存関係をインストールするときに、バージョン > 6.3.2
はファイルの操作に使用されます。devDependency で宣言されている場合、ユーザーが現在のツール パッケージをインストールした後にエラーが報告されます。
devDependency フィールドで宣言された依存関係は、npm がツール パッケージ
devDependencies
peerDependencies
ホームページ ウェブフロントエンド jsチュートリアル package.json を使用して依存パッケージのバージョン管理を行う方法について話しましょう

package.json を使用して依存パッケージのバージョン管理を行う方法について話しましょう

Aug 09, 2022 pm 03:08 PM
npm package.json

この記事では、package.json を使用して、実際のフロントエンド プロジェクトで依存パッケージのバージョン管理を実行する方法について説明します。 ルールが異なると依存関係の管理にどのような影響がありますか?

package.json を使用して依存パッケージのバージョン管理を行う方法について話しましょう

#npm バージョン番号定義

バージョン形式:

#X.Y.Z[-string]意味は次のとおりです:

#XX: メジャー バージョン番号
  • Y: マイナー バージョン番号
  • Z: 修正バージョン番号
  • string: 以前のバージョン番号またはバージョンのコンパイル情報
  • 例:

6.3.2-alpha

は、:

    メジャー バージョン番号 6 を意味します。下位互換性のない更新反復が 6 回あります。
  • マイナー バージョン番号 3 には、3 つの小さな関数の反復があります。
  • 6.*.*

    6.3.2 の依存関係ステートメントは、この新しいパッケージをインストールできます。

  • 修正バージョン番号 2 には、2 つのバグ修正またはその他の主要ではない機能変更があります。
  • 6.*.*

    6.3.2 の依存関係ステートメントは、この新しいパッケージをインストールできます。

  • アドバンス バージョン番号
  • alpha

    、処理トライアル段階を示します。

  • 詳細資料:
セマンティック バージョン 2.0.0

package.json で依存関係のバージョンを識別する方法

は次のように解釈されます:

"vue": "~2.5.22",
"vue-class-component": "^6.0.0",
"vue-router": "3.0.1",
"express": "latest",
"mongoose": "*",
ログイン後にコピー

  • Symbol

    ^: メジャー バージョンをロックし、マイナー バージョン番号、改訂されたバージョン番号と優先順位を更新します。バージョン番号例:

    "vue-class-component": "^6.0.0"

    、依存関係をインストールする際は、6に沿ってインストールできます。 *.* メジャー バージョン番号が 6 であれば、任意のバージョン。

  • #シンボル
  • ~

    : メジャー バージョン番号とマイナー バージョン番号をロックし、改訂バージョン番号と詳細バージョン番号を更新します たとえば、"vue": "~2.5.22"

    のように、依存関係をインストールする場合は、

    2.5.* に準拠する任意のバージョンをインストールできます。

  • 空の記号

    : すべてのバージョン番号をロック"vue-router": "3.0 .1"

    、バージョン

    3.0.1 の依存パッケージのみをインストールできます。

  • #シンボル*
  • : 特定のバージョン番号範囲を定義します

    vue-router": " 3.0 .*"

    3.0.1

    3.0.2.## など、3.0 で修正された任意のバージョンをインストールできます。

    #latest
  • : 最新の安定バージョンをインストールします
## たとえば、

"express": "latest"package.json を使用して依存パッケージのバージョン管理を行う方法について話しましょう では、

4.18.1
    (最新バージョン 2022.06.13) をインストールできます。
  • *

    : 最新リリース バージョンをインストールします。必ずしも安定バージョンである必要はありません
  • ##例
"mongoose": "*"

package.json を使用して依存パッケージのバージョン管理を行う方法について話しましょう6.0.0-rc2

    3.9.7
  • などをインストールできます。

    Git URL: Git で公開されているパッケージを使用します引用形式:

    ://[[:<] ;パスワード>]@][:][:][/][# | #semver:]
  • ##

    "test": "git+ssh://git@github.com:npm/cli.git#v1.0.27"
    ログイン後にコピー
    詳細情報:npm docs - 依存関係

    ##npm パッケージのバージョン番号をあまり信用しないでください!

    #タイトルの通り、これは血のにじむような教訓です。経験
作者が

system.js を使用する場合、使用されるバージョン制限は次のとおりです: system.js: "^6.3.2"

.

依存関係をインストールするときに、バージョン > 6.3.2

が誤ってインストールされ、プロジェクト操作でエラーが発生しました。

理由は、

system.js の作成者です。バージョン番号が semver 仕様に従って命名されておらず、その結果、作成者のプロジェクトが 下位互換性のない

を導入することになりました。更新により、プロジェクトが正しく実行されなくなりました。運用環境は、

dependency の下に均一にインストールされます。

例:

"dependencies": {
	"chalk": "^2.4.2",
	"commander": "^3.0.0",
	"fs-extra": "^8.1.0",
	"inquirer": "^6.5.0",
	"mem-fs": "^1.1.3",
	"mem-fs-editor": "^6.0.0",
	"shelljs": "^0.8.3"
}
ログイン後にコピー
上記のコードは、作者が作成した cli ツールキットの package.json の一部です。 shelljs

はファイルの操作に使用されます。devDependency で宣言されている場合、ユーザーが現在のツール パッケージをインストールした後にエラーが報告されます。

devDependency フィールドで宣言された依存関係は、npm がツール パッケージ

をインストールするときにインストールされないためです。インストールするには、

dependency フィールドで宣言する必要があります。

devDependencies

生产环境不需要使用的依赖,都需要安装在devDependencies下。
因为生产环境下,是不会安装devDependencies字段下的依赖的。

举个例子:

"devDependencies": {
	"@commitlint/cli": "^8.1.0",
	"@commitlint/config-conventional": "^8.1.0",
	"commitizen": "^4.0.3",
	"commitlint-config-cz": "^0.12.1",
	"cz-customizable": "^6.2.0",
	"standard-version": "^7.0.0"
}
ログイン後にコピー

上述代码,是笔者做的cli工具包的package.json中的片段。
commitizen是笔者用于规范Git提交规范的依赖包,只在开发环境中使用,所以在devDependencies中声明。

peerDependencies

当开发一些插件和工具包时,对使用方的运行环境的依赖包版本有要求,可以使用peerDependencies字段进行声明。

举个例子:

{
  "name": "tea-latte",
  "version": "1.3.5",
  "peerDependencies": {
    "tea": "2.x"
  }
}
ログイン後にコピー

当前工具tea-latte,依赖tea包。而且,要求tea包是主版本2。

当不满足要求时,控制台会进行报错处理。

注意
npm v7版本, peerDependencies会默认安装。
npm  v3 到 npm v6版本, peerDependencies不会自动安装。

更多node相关知识,请访问:nodejs 教程

以上がpackage.json を使用して依存パッケージのバージョン管理を行う方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScript パッケージマネージャーの比較: Npm vs Yarn vs Pnpm JavaScript パッケージマネージャーの比較: Npm vs Yarn vs Pnpm Aug 09, 2022 pm 04:22 PM

この記事では、3 つの JavaScript パッケージ マネージャー (npm、yarn、pnpm) について説明し、これら 3 つのパッケージ マネージャーを比較し、npm、yarn、pnpm の違いと関係について説明します。助けてください。質問がある場合は、指摘してください。

npm Reactインストールエラーが発生した場合の対処方法 npm Reactインストールエラーが発生した場合の対処方法 Dec 27, 2022 am 11:25 AM

npm 反応インストール エラーの解決策: 1. プロジェクトで「package.json」ファイルを開き、依存関係オブジェクトを見つけます; 2. 「react.json」を「devDependency」に移動します; 3. ターミナルで「npm Audit」を実行します -- Production」を実行して警告を修正します。

ヒントの共有: package.json ファイルをエレガントに取得する ヒントの共有: package.json ファイルをエレガントに取得する Oct 09, 2022 pm 07:07 PM

日常の開発では、package.json がプロジェクトまたはモジュール パッケージの説明であり、多くのメタ情報が含まれていることは誰もが知っていますが、内部の情報を取得するには package.json をどのように読めばよいでしょうか?登場するのは、今日の主役である read-pkg です。主要なソース コードはわずか約 30 行です。次に、実装を詳しく見てみましょう。これは、その後の独自のツールキット開発の基礎を築くと見なすことができます。 !

package.json と package-lock.json を分析した記事 package.json と package-lock.json を分析した記事 Sep 01, 2022 pm 08:02 PM

この記事では、package.json ファイルと package-lock.json ファイルについて詳しく説明します。

ノードがnpmコマンドを使用できない場合はどうすればよいですか? ノードがnpmコマンドを使用できない場合はどうすればよいですか? Feb 08, 2023 am 10:09 AM

ノードが npm コマンドを使用できない理由は、環境変数が正しく設定されていないためです。解決策は次のとおりです: 1. 「システムのプロパティ」を開きます; 2. 「環境変数」->「システム変数」を見つけて、環境を編集します。変数; 3.nodejs フォルダーの場所を見つけます; 4.「OK」をクリックします。

npm ノード gyp が失敗した場合の対処方法 npm ノード gyp が失敗した場合の対処方法 Dec 29, 2022 pm 02:42 PM

「node-gyp.js」が「Node.js」のバージョンと一致しないため、npm node gyp が失敗します。解決策は次のとおりです: 1. 「npm cache clean -f」を使用してノード キャッシュをクリアします; 2. 「npm install -」を使用します。 g n" n モジュールをインストールします。 3. 「n v12.21.0」コマンドを使用して、「node v12.21.0」バージョンをインストールします。

国内ミラー(タオバオミラー)のnpm設定について話しましょう 国内ミラー(タオバオミラー)のnpm設定について話しましょう Aug 09, 2022 pm 12:06 PM

npm は、node.js ライブラリのパッケージ管理ツールです。ミラー アドレスが海外であるため、ライブラリのインストールが遅くなります。ミラー アドレスを国内のアドレス (淘宝ミラー) に変更すると、インストール速度が向上します。図書館。

この記事は、npm の原理を理解するのに役立ちます。 この記事は、npm の原理を理解するのに役立ちます。 Aug 09, 2022 am 09:23 AM

npm は JavaScript 界のパッケージ管理ツールであり、Node.js プラットフォームのデフォルトのパッケージ管理ツールです。 npm を通じて、コードのインストール、共有、配布、プロジェクトの依存関係の管理を行うことができます。この記事では npm の原則について説明します。お役に立てれば幸いです。

See all articles