このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
packagist:knowledge [2020/07/17 11:10] y2sunlight [composer.jsonの作成] |
packagist:knowledge [2020/07/17 16:14] (現在) y2sunlight [更新スケジュール] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | > 編集中 | ||
- | |||
====== Packagist パッケージ登録の基礎知識 ====== | ====== Packagist パッケージ登録の基礎知識 ====== | ||
--- // | --- // | ||
行 22: | 行 20: | ||
===== パッケージのネーミング ===== | ===== パッケージのネーミング ===== | ||
- | First of all, you must pick a package name. This is a very important step since it can not change and it should be unique enough to avoid conflicts in the future. | ||
- | The package name consists of a vendor name and a project name joined by a /. The vendor name exists to prevent naming conflicts. For example, by including a vendor name both igorw and seldaek can have a library named json by naming their packages igorw/json and seldaek/ | + | ( packagist でパッケージを提出するには ) まず第一に、パッケージ名を選択する必要があります。これは変更できないので非常に重要なステップであり、将来的に競合を回避するために十分に一意である必要があります。 |
- | In some cases the vendor name and the package name may be identical. An example of this would be `monolog/monolog`. For projects with a unique name this is recommended. It also allows adding more related projects under the same vendor later on. If you are maintaining a library, this would make it really easy to split it up into smaller decoupled parts. | + | パッケージ名は、スラッシュ( '' |
- | Here is a list of typical package names for reference: | + | 場合によっては、ベンダー名とパッケージ名が同じになることがあります。この例は、'' |
+ | |||
+ | 参考の為に、典型的なパッケージ名のリストを次に示します: | ||
< | < | ||
- | // Monolog | + | // Monolog |
monolog/ | monolog/ | ||
- | // That could be the name of a drupal | + | // これはdrupalモジュールの名前のようです(monolog |
- | // if the drupal | + | // drupalチームがそれを行っているとしたら、ベンダーはdrupalになります)。 |
monolog/ | monolog/ | ||
- | // Acme is a company or person here, they can name their package with a common name (Email). | + | // Acme は会社または人です。ここではパッケージに一般的な名前(Email)で名前を付けることができます。 |
- | // As long as it's in their own vendor namespace it does not conflict with anyone else. | + | // 独自のベンダー名前空間にある限り、他の誰とも競合しません。 |
acme/email | acme/email | ||
</ | </ | ||
- | Vendor names on packagist | + | packagist |
\\ | \\ | ||
+ | |||
+ | ===== パッケージのバージョン管理 ===== | ||
+ | |||
+ | パッケージの新しいバージョンは、バージョン管理システムのリポジトリに作成したタグから自動的にフェッチされます。 | ||
+ | |||
+ | バージョニングを管理する最も簡単な方法は、composer.json ファイルからバージョンフィールド( '' | ||
+ | |||
+ | タグ/ | ||
+ | |||
+ | < | ||
+ | 1.0.0 | ||
+ | v1.0.0 | ||
+ | 1.10.5-RC1 | ||
+ | v4.4.4beta2 | ||
+ | v2.0.0-alpha | ||
+ | v2.0.4-p1 | ||
+ | </ | ||
+ | |||
+ | ブランチは自動的に " | ||
+ | |||
+ | > 例えば、'' | ||
+ | |||
+ | \\ | ||
+ | |||
===== composer.jsonの作成 ===== | ===== composer.jsonの作成 ===== | ||
- | The composer.json | + | composer.json |
- | A typical | + | 典型的な |
<code json> | <code json> | ||
行 80: | 行 103: | ||
</ | </ | ||
- | Most of this information is obvious, | + | この情報のほとんどは明白で、キーワード( '' |
+ | |||
+ | このファイルをリポジトリのルートでコミットしたら、パブリックリポジトリのURLを入力してパッケージを Packagist に[[https:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== 更新スケジュール ===== | ||
+ | |||
+ | New packages will be crawled immediately after submission | ||
+ | |||
+ | JSを有効にしている場合、新しいパッケージは、送信後、即座にクロールされます。 | ||
+ | |||
+ | 自動更新(GitHub / BitBucketフック)のない既存のパッケージは、更新のために週に1回クロールされます。フックを有効にすると、プッシュするたびに、パッケージがクロールされ、また、クロールが失敗した場合は少なくとも月に1回はクロールされます。保守担当者としてログインしている場合は、パッケージ画面で手動更新をトリガーすることもできます。 | ||
+ | |||
+ | すべてのパッケージに GitHubまたはBitBucketのサービスフックを設定することを強くお勧めします。これにより、負荷が軽減され、パッケージがほぼ瞬時に更新されます。以下のハウツーを確認してください。 | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | <div indent>< | ||
+ | GitHubの場合は、本編の「Packagist アカウントの作成」内の「[[packagist: | ||
+ | </ | ||
- | Once you have this file committed in your repository root, you can [[https:// | + | 検索インデックスは5分ごとに更新されます。検索インデクサーが最後に実行されてからクロールされたパッケージがインデックス(または再インデックス)されます。(※即ち、クロールされて(自動更新の場合はプッシュとほぼ同時刻)から最大で5分以内の再インデックスされるという事) |
\\ | \\ | ||