類別:後端相關
| 發布於 2025-06-21 17:05
Laravel Composer 版本約束條件
版本約束條件說明
Composer 支援多種版本約束語法,用於指定套件安裝的版本範圍。
1. 具體版本號
指定精確的版本號,僅安裝該版本:
2. 範圍約束
使用比較運算符指定版本範圍:
| 語法 |
說明 |
>1.0.0 |
高於 1.0.0 的版本 |
>=1.0.0 |
1.0.0 及更高版本 |
<2.0.0 |
低於 2.0.0 的版本 |
<=2.0.0 |
2.0.0 及更低版本 |
!=1.0.0 |
不等於 1.0.0 的版本 |
1.0.0,2.0.0 |
僅允許安裝 1.0.0 或 2.0.0 |
3. 波浪符號約束
(~)
允許修補版本或小版本更新(取決於指定的版本欄位):
| 語法 |
含義 |
~1.0 |
等同於 >=1.0.0, <2.0.0 |
~1.2 |
等同於 >=1.2.0, <1.3.0 |
4. 插入符號約束
(^)
允許向後相容的版本更新:
| 語法 |
含義 |
^1.0 |
等同於 >=1.0.0, <2.0.0 |
^1.2 |
等同於 >=1.2.0, <2.0.0 |
^0.3 |
等同於 >=0.3.0, <0.4.0 |
^0.0.3 |
等同於 >=0.0.3, <0.0.4 |
當主版本號為 0 時,表示 API 仍在開發階段,不會允許主版本號變動。
5. 通配符約束
(*)
使用星號接受任意版本(適合在測試或開發中使用):
| 語法 |
含義 |
* |
任何版本 |
1.0.* |
等同於 >=1.0.0, <1.1.0 |
1.* |
等同於 >=1.0.0, <2.0.0 |
Laravel Composer
版本約束條件(進階語法補充)
6. 多重條件
可以使用空白或逗號來表示 AND 條件(所有條件需同時成立):
等同於:
7. 邏輯組合(OR)條件
使用 | 或 || 表示 OR
條件(任一條件符合即可):
安裝任何符合 ^1.0 或 ^2.0 的版本。
8. 範圍並列
可以列出多個版本範圍條件,Composer 會安裝符合其中任一條件的版本:
9. 排除特定版本
可以使用 != 排除特定版本:
代表安裝 1.0 以上但小於 2.0 的版本,排除 1.3.0。
10. 穩定版本限制
如果需要避免安裝 dev 或 alpha、beta 等版本,可使用 minimum-stability 和
prefer-stable:
11. 版本解析優先順序
Composer 會依照以下優先序解析版本:
- 精確版本(如
1.2.3)
- 插入符號(
^)
- 波浪符號(
~)
- 範圍(如
>=1.0 <2.0)
- 通配符(
*)
- dev 分支版本(如
dev-master)
補充範例
參考文件
Laravel Composer 版本約束條件
版本約束條件說明
1. 具體版本號
指定精確的版本號,僅安裝該版本:
2. 範圍約束
使用比較運算符指定版本範圍:
>1.0.0>=1.0.0<2.0.0<=2.0.0!=1.0.01.0.0,2.0.03. 波浪符號約束 (
~)允許修補版本或小版本更新(取決於指定的版本欄位):
~1.0>=1.0.0, <2.0.0~1.2>=1.2.0, <1.3.04. 插入符號約束 (
^)允許向後相容的版本更新:
^1.0>=1.0.0, <2.0.0^1.2>=1.2.0, <2.0.0^0.3>=0.3.0, <0.4.0^0.0.3>=0.0.3, <0.0.45. 通配符約束 (
*)使用星號接受任意版本(適合在測試或開發中使用):
*1.0.*>=1.0.0, <1.1.01.*>=1.0.0, <2.0.0Laravel Composer 版本約束條件(進階語法補充)
6. 多重條件
可以使用空白或逗號來表示 AND 條件(所有條件需同時成立):
等同於:
7. 邏輯組合(OR)條件
使用
|或||表示 OR 條件(任一條件符合即可):8. 範圍並列
可以列出多個版本範圍條件,Composer 會安裝符合其中任一條件的版本:
9. 排除特定版本
可以使用
!=排除特定版本:10. 穩定版本限制
如果需要避免安裝 dev 或 alpha、beta 等版本,可使用
minimum-stability和prefer-stable:11. 版本解析優先順序
Composer 會依照以下優先序解析版本:
1.2.3)^)~)>=1.0 <2.0)*)dev-master)補充範例
參考文件