このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
composer:1.9:version-constraints [2020/03/16 20:50] y2sunlight [ComposerバージョンとVCSバージョン] |
composer:1.9:version-constraints [2020/03/24 14:39] tanaka [バージョン制約の要約] |
||
---|---|---|---|
行 11: | 行 11: | ||
* [[composer: | * [[composer: | ||
* [[composer: | * [[composer: | ||
+ | * [[composer: | ||
* [[composer: | * [[composer: | ||
* [[composer: | * [[composer: | ||
行 25: | 行 26: | ||
ComposerはgitなどのVCS(バージョン管理システム)の利用に重点を置いているため、「バージョン」という用語は少し曖昧な場合があります。バージョン管理システムの意味では、「バージョン」は特定のデータを含む特定のファイルセットのことです。gitの用語では、これは '' | ComposerはgitなどのVCS(バージョン管理システム)の利用に重点を置いているため、「バージョン」という用語は少し曖昧な場合があります。バージョン管理システムの意味では、「バージョン」は特定のデータを含む特定のファイルセットのことです。gitの用語では、これは '' | ||
- | Composerでは、しばしば気軽にバージョンと呼ばれるもの、つまり、'' | + | Composerでは、しばしば気軽にバージョンと呼ばれるもの、つまり、'' |
\\ | \\ | ||
- | ===== VCS Tags and Branches | + | ===== VCSのタグとブランチ |
- | For the following discussion, let's assume the following sample library repository: | + | 以下の説明では、次のサンプルライブラリのリポジトリを想定します。 |
< | < | ||
行 56: | 行 57: | ||
</ | </ | ||
- | ==== Tags ==== | + | ==== タグ |
- | Normally, Composer deals with tags (as opposed to branches -- if you don't know what this means, read up on version control systems). When you write a version constraint, it may reference a specific tag (e.g., 1.1) or it may reference a valid range of tags (e.g., >=1.1 <2.0, or ~4.0). To resolve these constraints, | + | |
- | When Composer | + | 通常、Composerはタグを処理します。バージョン制約を記述するとき、特定のタグ(例:'' |
- | ==== Branches ==== | + | ComposerがVCSで使用可能なバージョンの完全なリストを取得すると、Composerはプロジェクト内の全てのバージョン制約に一致する最上位バージョンを検索します(他のパッケージでは、より特定のバージョンのライブラリが必要になる可能性があるため、選択するバージョンは常に最高のバージョンであるとは限りません)、そして、そのタグのzipアーカイブをダウンロードして、'' |
- | If you want Composer | + | |
- | In the above example, if you wanted to check out the my-feature branch, you would specify dev-my-feature as the version constraint in your require clause. This would result in Composer cloning the my-library repository into my vendor directory and checking out the my-feature branch. | ||
- | When branch names look like versions, we have to clarify for composer that we're trying to check out a branch and not a tag. In the above example, we have two version branches: v1 and v2. To get Composer | + | ==== ブランチ ==== |
+ | Composerにタグの代わりにブランチをチェックアウトさせる場合は、特別な '' | ||
- | ==== Minimum Stability | + | 上記の例で、'' |
- | There' | + | |
+ | ブランチ名がバージョンのように見える場合、タグではなくブランチをチェックアウトしようとしていることをComposerに明確にする必要があります。上記の例では、'' | ||
+ | |||
+ | ==== 最小安定値 | ||
+ | ライブラリのVCSからチェックアウトされ、プロジェクトに追加されるファイルに影響するもう1つのことがあります。それは、Composerでは「安定性の制約」を指定して有効と見なされるタグを制限できるという事です。 上記の例では、ライブラリが最終的な公式リリースの前にβ版と、バージョン1.1の2つのリリース候補版(RC1とRC2)をリリースしたことに注意してください。Composerの '' | ||
+ | |||
+ | \\ | ||
===== バージョン制約の書き方 ===== | ===== バージョン制約の書き方 ===== | ||
行 136: | 行 141: | ||
例: ^1.2.3 | 例: ^1.2.3 | ||
- | ===== Stability Constraints | + | \\ |
+ | |||
+ | ===== 安定性の制約 | ||
安定性を明示的に定義しない制約を使用している場合、Composerは内部的に '' | 安定性を明示的に定義しない制約を使用している場合、Composerは内部的に '' | ||
行 161: | 行 168: | ||
=== 正確なバージョンを指定 === | === 正確なバージョンを指定 === | ||
- | < | + | < |
" | " | ||
行 169: | 行 176: | ||
=== 上下限を指定 === | === 上下限を指定 === | ||
- | < | + | < |
" | " | ||
行 179: | 行 186: | ||
=== ワイルドカード === | === ワイルドカード === | ||
- | < | + | < |
" | " | ||
行 188: | 行 195: | ||
=== 指定された最後の数字が上がることを許可 === | === 指定された最後の数字が上がることを許可 === | ||
- | < | + | < |
" | " | ||
行 198: | 行 205: | ||
=== 破壊的更新を許さない(メジャーバージョンの固定) === | === 破壊的更新を許さない(メジャーバージョンの固定) === | ||
- | < | + | < |
" | " | ||