web-dev-qa-db-ja.com

bower_componentsはgitignoredする必要がありますか?

bower.jsonファイルのみを保持し、bower_componentsディレクトリ全体をgitignoreすることをお勧めしますか?

157

公式のBowerページ 記載:

NB他のユーザーが使用することを意図したパッケージを作成していない場合(たとえば、Webアプリを構築している場合)、常に インストール済みパッケージをソース管理にチェックイン

引用内のリンクを必ず確認してください。賛否両論について説明しています。それが言及する主な長所は、リポジトリを利用できる限り、それらをチェックインすることで依存関係が常に利用可能であることを保証することです。 Bower、GitHub、またはそれ以外で必要なものがどうなったとしても。

148
TimWolla

新しく生成された Yeoman AngularJSプロジェクトの。gitignoreファイルには、bower_components(およびnode_modules)が無視されるようにリストされています(そうしない場合) 「Yeomanが最新のWebアプリ用の非常に評判の良いWeb足場ツールであることは知らないので、それで十分です!):

。gitignore

node_modules
dist
.tmp
.sass-cache
bower_components
52
user12121234

両方のアプローチに時間と場所があります。 Yeomanの場合、bower.jsonに依存するのが適切です。これはツールチェーンのツールであり、bower.jsonで生活と呼吸を維持する必要があるためです。デプロイ可能なWebアプリの場合、一般的に依存関係をコミットしてより多くの制御を維持することをお勧めします。

これが 良い記事 です。

9
JoshuaDavid

GruntとNodeをBowerで使用している場合、。= ignoreにbower_componentsを入れるのが理にかなっています。なぜなら、grunt serveまたはgrunt buildそれはあなたのための依存関係の世話をします、それがYeomanでそれを追加する理由だと確信しています.gitignore

6
Yves

Yeoman ジェネレーターは。gitignoreファイルにbower_componentsを事前に入力しましたが、他のディレクトリも事前に入力されていると思います最終的なアプリ(wwwなど)に必要になるため、調査を行いました。

Www/index.htmlはapp/index.htmlの縮小版であることを発見しました。 appディレクトリとそのコンテンツ(bower_componentsを含む)には、出力ディレクトリ(www)に必要なソースファイルが含まれています。ソースディレクトリをソース管理(つまりgit)にコミットしますが、生成されたファイル(つまりwww)にはコミットしません。 bowerやnpmなどのパッケージマネージャーは、ビルド/生成段階で使用することを意図しており、そのアーティファクトはソース管理にチェックインすることを意図していません。

最終的に、gitにチェックインするソースは、開発または展開の目的でプロジェクトの残りをビルドするために必要な最低限の構成です。

5
Erich Cervantez

bower-locker by Shawn Lonas を使用してロックファイルを作成する場合は、/bower_components dirを無視し、bower.jsonおよびbower-locker.bower.jsonファイルのみをチェックインすることをお勧めします。

Bower-lockerが作成される前は、bower shrinkwrap機能を持たない の問題によって引き起こされるデメリットがありましたが、上記のライブラリによって軽減できます。

それを実現するには、次のコマンドを実行します。

npm install bower-locker -g

または

yarn global add bower-locker

次に、以下を実行して、既存のbower.jsonファイルに基づいてロックファイルを生成します。

bower-locker lock

元のbower.jsonファイルの名前はbower-locker.bower.jsonに変更されます

0
Joel Handwell