1. ホーム
  2. npm

[解決済み] NPM/Bower/Composer - 違いは?

2022-10-18 05:15:55

質問

の違いについて教えてください。 NPM , BowerComposer .

これらはすべてパッケージマネージャです - 正しいですか?

しかし、それぞれはどのようなときに使うべきでしょうか?

また、それぞれに付随する json ファイルがあるようですが、これは cmd ラインでインストールできるように、必要なパッケージをすべて保存しているのでしょうか?なぜこのファイルが必要なのでしょうか?

どのように解決するのですか?

[ 4年後のアップデート ]

  • bower は非推奨であり、新しいプロジェクトではもう使用しないでください。Bower は維持されていますが、フロントエンドのプロジェクトでは Yarn と Webpack または Parcel を使用することをお勧めします。
  • yarn は、より優れた npm (のいくつかを修正)。 npm の欠点を修正したもの)で、フロントエンドやノードの開発をしているのであれば、これは新しいデファクトスタンダードなので、今本当に使うべきものです。これは、同じ package.json を消費し、それとほぼ完全に互換性があります。
  • を使うことはないでしょう。 composer を使うことはないでしょう。 php はまだ生きていて人気があるようですが。

[ オリジナルの答え ]

npm は nodejs パッケージマネージャです。したがって、nodejs環境を対象としており、通常はサーバーサイドのnodejsプロジェクトやコマンドラインプロジェクトを意味します(bower自身はnpmパッケージです)。もしあなたがnodejsで何かをしようとしているならば、npmを使うことになるでしょう。

bower は、(フロントエンドの)Webプロジェクトを対象としたパッケージマネージャです。bowerのインストールと実行にはnpmとnodejsが必要ですが、bowerのパッケージは特にnodejs向けではなく、むしろquot;ブラウザ"環境向けのものです。

composer は php プロジェクトを対象とした依存性マネージャです。symfony (もしくは古いphp) で何かをする場合、これが最適な方法でしょう。

まとめると

  • nodeをやっているのですか? npmをやっているのですね
  • phpをお使いの場合は、composerをお試しください。
  • フロントエンドでJavaScriptを使用する場合は、bowerを使用します。

そして、そうです、"json" ファイルは基本的なパッケージ情報と依存関係を記述しています。そして、はい、それらは必要です。

さて、READMEについてはどうでしょうか?)