56

react-nativeでグローバルにインストールしたパッケージを使用していましnpmた。コマンドを実行した後の最初の行に表示されinitます。以下:

Installing react-native from npm...
Consider installing yarn to make this faster: https://yarnpkg.com

それで私はそのウェブサイトをチェックしていて、私には面白そうに見えましたが、それが何であるかは正確にはわかりません. brew最初はをインストールする必要があると思っていたyarnので、yarn でインストールできましたnpmyarnしかし、今はそれが の代わりだと思いますnpm。それは正しい発言ですか?

なぜそんなに多くのパッケージ マネージャーが必要なのですか?

AtomVisual Studio Codeなどのソフトウェアが独自のパッケージ マネージャーを持つと便利であることは理解しています。しかし、開発のために、誰かが 4 つの異なるパッケージ マネージャーを使用する理由がわかりません (「プライマリ ソフトウェア」にはbrew、パッケージにはbrew、yarnバックnpmエンド モジュールにはnpm、フロントエンド ライブラリにはbower)。このパッケージ マネージャー フォレストをどのように解きほぐすことができますか?

4

4 に答える 4

47

brew には詳しくありませんが、macOS 用の Homebrew ソフトウェア パッケージ管理システムのことだと思います。

次に、各システムの目的は次のとおりです。

  1. brew : ソフトウェアのインストール。つまり、wget などのアプリケーションを使用する準備ができています。
  2. npm : パッケージ (ライブラリ) のインストール、つまり独自のアプリケーションの構築に役立つ機能の一部。
  3. yarn : パッケージのインストールも。

Yarn には npm よりもいくつかの利点があります。主な 2 つは速度と予測可能性です。Yarn は npm の package.json ファイルを再利用し、その構造を変更しません。yarn installしたがって、代わりに実行することができnpm install、理論的にはすべてが自動的に機能します。

PS同意します。 https://yarnpkg.comには、別のパッケージ管理システムが必要な理由について十分な背景がありませんが、そのギャップを埋める素晴らしい記事があります。

于 2016-11-03T09:16:59.910 に答える
3

Yarnは、NPMと同様に、Node.JS のパッケージ マネージャーです。Yarn は Facebook によって構築されています。NPM よりも高速で、より多くの機能を備えています。

主なセールス ポイントは次のとおりです。

  • セキュリティyarn.lockファイル (NPM のnpm-shrinkwrap.jsonに似ています) を使用すると、すべての依存関係が正確なバージョンでロックされます。そのため、「<strong>しかし、私のマシンでは動作する」という苦労はもうありません。誰もがyarn.lockファイルでロックされた同じバージョンを持っています
  • Speed Yarn は、(高速) プロキシと (オフライン) キャッシュを使用して、モジュールをより高速に配信します。また、すべての依存モジュールのライセンスをチェックする LICENSE チェッカーもあります。
于 2017-04-23T11:05:06.937 に答える