しかし、私はまだ自分自身を始めることができません。Satis はプロジェクト ベースでインストールされますか? もしそうなら、新しいプロジェクトごとに Satis をインストールしなければならないということですか?
いいえ、satis は個人的な packagist のようなリポジトリです。その中に、packagist から取得するのではなく、自分でホストしたいパッケージをどこで取得するかについての一連の定義を保持します。
フォルダーから composer.phar create-project composer/satis --stability=dev を実行しようとすると、composer.phar が見つからないというエラー メッセージが表示されます。
composer がパスにない場合、コマンドは php 'composer.phar' になります ( https://getcomposer.org/doc/00-intro.md#globally )
それで、 composer create-project composer/satis --stability=dev を試してみると、composer を実行するフォルダー内に satis という新しいフォルダーが作成されます。
これは、composer.phar を /usr/local/bin/composer に移動したことを意味し、「composer」を実行するだけでグローバルに実行できます (つまり、システム内のすべてのディレクトリから実行できます)。
satis を実行する方法についての「論理的な」ステップバイステップの説明は、私があなたを混乱させていると思うものを明確にするはずです:
バックグラウンド
コンポーザーによってデフォルトとして使用されるサービス内で定義されているリポジトリからプルするのではなく、独自のリポジトリ (git またはその他、git で例を作成します) からいくつかのプロジェクトを提供したいため、satis が必要です。梱包業者。おそらく、元のパッケージに変更を加えたいが、パッケージが更新されたときにそれらを上書きしたくないでしょう。したがって、変更を上流の変更とマージできる場合は、中間ステップが必要です。
ブリーフコンポーザのワークフロー
Packagist はパッケージのソース コードを保持しません。各パッケージの一連の定義 (composer.json ファイル) を保持し、このセットの中で、パッケージを利用できるリポジトリの定義を保持します。
composer を実行すると、
- packagist の定義を読み取ります
- 定義された公開リポジトリ (github、git、svn など) からパッケージをダウンロードします。
- パッケージ自体にある他の定義に従ってコンパイルします
ブリーフコンポーザー/サティスワークフロー
satis のフローは次のとおりです: - Composer は satis 内の定義を使用するように指示されます - satis で見つかった定義を読み取ります - satis で定義されたパブリックリポジトリからパッケージをダウンロードします - パッケージ自体で見つかった他の定義に従ってコンパイルします
便利な Composer/Satis/Git セットアップを段階的に作成する
上記から、段階的な手順は次のとおりです。
- composer をグローバルにインストールします (簡単にするために、既にインストール済みです)。
- Web から入手できるようになるフォルダーに、satis をインストールします。
- システムのどこか (専任の git ユーザーのホーム ロケーションが最も簡単です。「satis」ユーザーかもしれません) で、変更したいパッケージの git リポジトリを複製し、独自の git リポジトリから提供します。
- プロジェクトの定義を含むsatisリポジトリ内にsatis.jsonファイルを追加します
- 同じ場所から「php bin/satis build satis.json root/」を実行し (私は標準の「web/」ではなく「root/」を好みます)、Web サーバーの documentRoot を「path/to/root/」に設定します。
上記のステップ 4 の例:
{
"name": "My Repo",
"homepage": "http://satis.mydomain.com",
"repositories": [
{
"type": "git",
"url": "satis@satis.mydomain.com:<packagename>"
}
],
"require-all": true
}
これで、composer、git リポジトリ、satis リポジトリ (独自の packagist) が手に入りました。それらはすべて異なる独立した場所にあります。
Composer の Satis と Git を使用した段階的な手順
パッケージをインストールするディレクトリを作成します composer の指示に従って、このディレクトリに composer.json ファイルを追加します。今回はパッケージが変更されたバージョンであるため、composer.json ファイルはたとえば次のようになります。
{
"name": "<yourname>/<packagename>",
"repositories": [
{
"type": "composer",
"url": "http://satis.yourdomain.com"
},
{"packagist": true},
{ "type": "composer", "url": "https://packagist.org" }
],
"version": "dev-master",
"require": {
"<originalvendorname>/<packagename>": "dev-master"
},
"minimum-stability": "dev"
}
originalvendorname/packagename はパッケージのフルネームですが、必要なものに置き換えてください。この場合、satis リポジトリで定義された git リポジトリからプルされた独自のバージョンのパッケージを作成しています。そこにないもの (可能な依存関係) は、packagist.org リポジトリで定義された各依存関係の元の git リポジトリから取得されます。
独自のバージョンのパッケージにさらに変更を加え、さらにコミットを行った場合は、satis リポジトリを更新する必要があります。上記の手順 5 に従って再構築します。
このようにして、マスター ブランチの最後のコミットにリンクされます (satis では「dev-」が前に付きます)。
お役に立てれば。ステップバイステップのコマンドは、投稿の冒頭で参照したページにあるものです。