回答:
npm
nodejsパッケージマネージャーです。したがって、通常はサーバー側のnodejsプロジェクトまたはコマンドラインプロジェクトを意味するnodejs環境を対象とします(bower自体はnpmパッケージです)。nodejsで何かを行う場合は、npmを使用します。
bower
(フロントエンド)Webプロジェクトを目的としたパッケージマネージャーです。Bowerをインストールして実行するには、npmとnodejsが必要ですが、Bowerパッケージは、nodejs専用ではなく、「ブラウザー」環境用です。
composer
PHPプロジェクトを対象とする依存関係マネージャーです。symfony(またはプレーンな古いphp)で何かをしている場合、これはおそらく行く方法です
要約すると:
はい、「json」ファイルは基本的なパッケージ情報と依存関係を記述します。そして、はい、それらは必要です。
さて、READMEはどうですか?:-)
[更新、4年後]
bower
は非推奨であり、新しいプロジェクトでは使用しないでください。大部分は、ノードの依存関係の管理に組み込まれています(Webサイトから:「Bowerはメンテナンスされていますが、フロントエンドプロジェクトにはYarnとWebpackまたはParcelを使用することをお勧めします」)。yarn
は、npm
いくつかのnpm
欠陥を修正して、より良いものとして木材から出てきました。これは、フロントエンドまたはノード開発を行う場合の新しい事実上の標準であるため、これを実際に使用する必要があります。package.json
npm と同じように消費し、ほぼ完全に互換性があります。composer
この時点では使用しません(私はを使用しないためphp
)、まだ生きていて人気があるようです