版本格式
主版本號.次版本號.修訂號
版本號遞增規則
-
主版本號:當你做了不兼容的 API 修改
-
次版本號:當你做了向下兼容的功能性新增
-
修訂號:當你做了向下兼容的問題修正
-
先行版本號及版本編譯元資料可以加到“主版本號.次版本號.修訂號”的后面,作為延伸,
發布 1.0.0 版本的時機
-
被用于正式環境
-
如果有個穩定的 API 被使用者依賴
-
如果很擔心向下兼容的問題
總而言之,由于0.x版本在機制和語意上和大于1.0的版本有一定差異,容易產生誤用,被用于生產環境的包的版本號都必須>=1.0
composer.lock的規范
開發應用程式必須提交 composer.lock 檔案到 git 版本庫中
這會確保每一個人 —— 你、你的合作伙伴、你的 CI 服務器以及你的產品服務器 —— 所運行的應用程式擁有相同依賴的版本,
開發庫不需要提交composer.lock
該檔案對使用該庫的專案不會有任何影響,無法達到限制版本的目的
composer.json中依賴版本的規范
不允許在專案中使用不限定版本的方式
由于主版本的升級可能伴隨著api的不兼容,如果require * 這種不限定版本的方式很可能帶來不兼容的隱患,所以推薦至少鎖定主版本號
例如
目前使用xxx/service的1.0.0版本,則請寫~1.0或者^1.0.0,這樣效果等同于>= 1.0且< 2.0,如果第三方使用時參考了xxx/service的2.0版本且參考了你的依賴1.0的版本,則會安裝出錯,立刻引起注意
如果 require * 則安裝會正常進行,但是可能發生使用時的意外(api不兼容)
版本號鎖定中^和~的重要區別
~的作用
~ 的作用是允許運算式中最后一位變到最大值

^的作用
++^ 鎖定的是x.y.z版本號中從左到右非0的第一個版本號的版本++
比如^ 1.2.3 為鎖定主版本號1;而^ 0.1.2則為鎖定0.1;^ 0.0.3則為鎖定0.0.3版本
所以^ 的行為在>=1.0和< 1.0的情況下存在特殊情況,使用時請特別注意,
-
版本大于1.0.0的情況
^ 鎖定不允許變的第一位

-
版本為0.x的情況
^鎖定的是從左到右非0的第一個版本號的版本

- 以上是文章全部內容,有需要學習交流的友人請加入Swoole交流群的咱們一起,有問題一起交流,一起進步!前提是你是學技術的,感謝閱讀!
點此加入該群
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/103733.html
標籤:PHP
上一篇:雙劍合璧Nacos結合Sentinel實作流量安全控制(二):客戶端接入控制臺
下一篇:Laravel 菜鳥的晉級之路
