編集:ここで達成しようとしたことは、Yeomanプロジェクトで実行できます。
そこで、プライベート サーバーに git+composer+satis をセットアップしました。すべて正常に動作し、非常に熱心です。それらすべてを愛さなければなりません。
私はプロジェクトとプライベート パッケージに git を使用しているため、基本的なワークフローは次のようになります。
git clone git@myserver:the-project-name
composer install
これにより、プロジェクト リポジトリが複製され、必要な依存関係がインストールされます。素晴らしい。
しかし、いくつかの「スケルトン リポジトリ」を使用して、それらの内容をプロジェクトにコピーし、依存関係情報を保持できるようにしたいと考えています。
次の例を見てください。
- test-project という名前の git リポジトリを作成し、それをローカルに複製します。
- Facebook アプリのスケルトンである fb-bootstrap と呼ばれる別の git リポジトリがあります。
- また、別のブートストラップ スケルトン git リポジトリもあります。これも含めたいと思います。たとえば、これは api/ フォルダーになります。それを呼びましょう: api-bootstrap
- だから私もそれらを複製したいのですが、同じディレクトリにすでにgitリポジトリがあるため、もちろんできません。
- 考えられる解決策: 次のコードを使用するため、ファイルのみを取得します。tar xf -'
これは問題ありませんが、問題があります。依存関係が異なります-composer.jsonファイルが異なります。- fb-bootstrap と api-bootstrap リポジトリの場合、それらすべてをインストールする方法を見つける必要があります。
アクセスがそのフォルダーに制限されているため、自動ロードされた php クラス以外は vendor/ フォルダーに何も配置できないため、これには composer を使用しないことに注意してください。
その制限を解除しても問題は解決しません。後で依存関係を追加して を呼び出すとcomposer update
、ブートストラップ フォルダーで行った変更が失われる可能性があるためです。
上記のサブモジュールとコピーファイルのみのハックは、上記の理由により、それを完全にカットしません。
概要:
必要な数のブートストラップ リポジトリを含めることができるソリューションが必要です。それが完了したら、すべての依存関係をインストールできる必要があります。
このような:
- git init プロジェクト リポジトリ、
- ローカルでプロジェクト リポジトリを git clone し、
- 必要なブートストラップ リポジトリのコンテンツをいくつか取得し、
- プロジェクト用に宣言した依存関係と、すべてのブートストラップ リポジトリの依存関係をインストールします。
これを行う方法はありますか?
また、私がこの問題に完全に間違った方法で取り組んでいると思われる場合は、遠慮なく教えてください。とにかく新しい技術に順応しています。変化を恐れません。:)
どんなコメントでも大歓迎です。