npmとYarnの違い、Yarnの使い方


1.Yarnとは何ですか
YarnはFacebook、Google、Exponent、Tildeと共同で新しいJSパッケージ管理ツールを発売しました.公式文書に書かれているように、Yarnはnpmのいくつかの欠陥を補うために現れました.
npmの欠点
  • npm install時はかなり遅い.特に新しいプロジェクトは半日を待って、node_を削除します.modules、npm installを新たにする時も同じです.
  • 同じ項目では、インストール時の一貫性が維持されません.Package.jsonファイルのバージョン番号の特徴により、下の3つのバージョン番号はインストール時に異なる意味を表します.同じプロジェクトがよくあります.同僚によってはOKです.インストールされたバージョンが一致しないため、同僚によってはバグが発生します.
  • "5.0.3",					//      5.0.3  
    "~5.0.3",					//   5.0.X      
    "^5.0.3"					//   5.X.X      
    
  • インストールする時、カバンは同じ時間にダウンロードしてインストールします.途中である時、一つのカバンが一つのエラーを投げましたが、npmは引き続きカバンをダウンロードしてインストールします.npmはすべてのログを端末に出力しますので、エラーパケットに関するエラー情報は多くのnpm印刷の警告の中で失われます.実際に発生したエラーに気づかないこともあります.
  • これらのピットを持って、Yarnの優勢とその解決の問題を理解します.
    2.Yarnの長所
  • 速い.スピードが速いのは主に以下の二つの面から来ています.
  • パラレルインストール:npmでもYarnでもパッケージのインストール時に一連のタスクが実行されます.npmは、各パックをキューに従って実行します.つまり、現在のパッケージのインストールが完了するまでは、後のインストールを継続することができます.一方,Yarnは全タスクを同期して実行し,性能を向上させた.
  • オフラインモード:前にすでにパッケージがインストールされていたら、Yarnで再インストールする際に、キャッシュから取得すると、npmのようにネットワークからダウンロードする必要がなくなります.
  • インストールバージョンが統一されています.異なるバージョンに引っ張られないように、Yarnにはロックファイル(lock file)yarn.lock適切に装着されているモジュールのバージョン番号が記録されています.モジュールが追加されるたびに、Yarnは作成(または更新)yarn.lockこのファイルを作成します.このようにして保証します.同じ項目を引くたびに、同じモジュールのバージョンが使われます.npmは、常に同じバージョンのpackageを使用しているが、開発者がnpm shrinkwrapコマンドを実行する必要がある.このコマンドは、npm installを実行する際に、先に読み込まれ、Yarnがyarn.lockファイルを読み込むというロックファイルを生成します.npmとYarnの違いは、Yarnがデフォルトでこのようなロックファイルを生成し、npmがshrinkwrapコマンドでnpm-shrinkwrap.jsonファイルを生成するには、このファイルが存在する場合のみ、packagesバージョンの情報が記録され更新されることである.
  • より簡潔な出力:npmの出力情報は冗長です.npm installを実行すると、コマンドラインはインストールされているすべての依存性をプリントアウトし続けます.対照的に、Yarnは簡潔で多すぎる:デフォルトでは、emojiの直感的かつ直接的に必要な情報を印刷し、開発者に追加のインストール情報を照会するコマンドも提供されている.
  • ***マルチ登録ソース処理:**すべての依存パッケージは、彼が別のライブラリに間接的に何回引用されても、このパッケージをインストールする時は、登録元から1つだけインストールします.npmかそれともbowerか、混乱が生じるのを防止します.
  • より語義化:yarnはnpm命令の名称を変えました.たとえばyarn add/removeはnpm元のinstall/uninstallよりも鮮明な感じがします.
  • 3.Yarnとnpmコマンドの比較
    npm
    yarn
    npm install
    yarn/yarn install
    npm install@anglar-cli--save
    yarn add@anglar-cli
    npm uninstall@anglar-cli--save
    yarn remove@anglar-cli
    npm install@anglar-cli--save-dev
    yarn add@anglar-cli--dev
    npm udate--save
    yarn ugrade
    npm install-g@anglar-cli--save
    yarn global@anglar-cli
    4.Yarnの取り付け方法
    チュートリアル-Yarn中文網をインストール:https://yarn.bootcss.com/docs/install/#mac-stable macOS Homebrewパッケージ管理ツールでYarnをインストールすることを推奨します.Node.jsをインストールしていないと、Homebrewが自動的にインストールされます.
    brew install yarn
    
    更新します
    brew upgrade yarn
    
    次の命令により、Yarnがインストールされているかどうかをテストします.
    yarn --version
    
    5.Yarnの使い方
    今やYarnはインストールが完了しましたので、もう使えます.以下はあなたが必要とする最も一般的な命令です.
    新しいプロジェクトを初期化します.
    yarn init
    
    依存パケットを追加
    yarn add [package]
    yarn add [package]@[version]
    yarn add [package]@[tag]
    
    eg:
    yarn add bootstrap
    yarn add bootstrap@4.5.3
    yarn add bootstrap@~4.5.3
    yarn add bootstrap@^4.5.3
    
    グローバルインストール、更新、依存パッケージの削除
    yarn global add @angular-cli
    yarn global upgrade @angular/cli
    yarn global remove @angular-cli
    
    注意:yarn global upgrade-interactive —latestグローバルのクラスを最新に更新することができます.更新するクラスを選択して、例えばグローバル@angular/cli依存項を異なる依存項のカテゴリに追加します.
    それぞれdevDependenciespeerDependenciesoptionalDependenciesカテゴリに追加されます.
    yarn add [package] --dev
    yarn add [package] --peer
    yarn add [package] --optional
    
    レベルアップ依存パッケージ
    yarn upgrade [package]
    yarn upgrade [package]@[version]
    yarn upgrade [package]@[tag]
    
    依存パケットを削除
    yarn remove [package]
    
    インストール項目のすべての依存
    yarn
    
    または
    yarn install
    
    6.Yarnインストール元を交換する
    npmとYarnのデフォルトのミラーは海外にあります.国内ではこれらのミラーリングのスピードが遅くなります.
    Yarnソースの現在の住所を表示します.
    yarn config get registry
    # -> https://registry.yarnpkg.com
    
    インストール速度が遅いと思ったら、元のnpmと同じです.通用します.taobaoのソースに変えられます.修正方法は以下の通りです.
    1.臨時修正(一回のみ有効)
    yarn save      --registry https://registry.npm.taobao.org/
    
    2.yarnの設定項目(全体構成)
    yarn config set registry 'https://registry.npm.taobao.org'
    # -> yarn config v0.15.0
    # -> success Set "registry" to "https://registry.npm.taobao.org".
    # -> Done in 0.04s.
    
    それからyarn installのスピードはずっと速いです.
    もちろん、サードパーティのソフトウェアを使って、Yarnのソースを素早く修正したり、切り替えたりすることもできます.yrmはYarnソースマネージャです.素早くyarnソースに切り替えることができます.
    参考記事:https://www.jianshu.com/p/254794d5e741 https://www.jianshu.com/p/98d70bbc93c6