composer 相關(持續更新)

經常使用命令解釋php

  • composer install - 若有 composer.lock 文件,直接安裝,不然從 composer.json 安裝最新擴展包和依賴;
  • composer update - 從 composer.json 安裝最新擴展包和依賴;
  • composer update vendor/package - 從 composer.json 或者對應包的配置,並更新到最新;
  • composer require new/package - 添加安裝 new/package, 能夠指定版本,如: composer require new/package ~2.5

~ 和 ^ 的區別
clipboard.pngjson

版本號使用composer

clipboard.png

穩定性工具

clipboard.png

**這裏須要說一下生產環境最重要也一直是好多同窗不清楚的一個東西:版本鎖定,不少人在糾結,要不要把 composer.lock 上傳到代碼庫啊。我能夠給你一個特別簡單的判斷方法:
若是你的代碼是一個項目,就上傳,若是是一個工具包,給你們用的,就別上傳。**ui

clipboard.png

在已經存在 composer.lock 的目錄執行 composer install 的時候,是不會分析包依賴的,它只是按 composer.lock 中描述的下載地址直接下載,因此會快不少,並且版本號是具體的。那怕包已經發了新版,只要 composer.lock 沒動過,它就會按 composer.lock 裏的版原本安裝。composer update 時會更新 composer.lock,因此不要亂用 composer update。spa

包開發好了怎麼發佈?開源的方式是這樣的:ip

clipboard.png

最後一句請酌情考慮。開發

另一種發佈方式是閉源,公司內部用的包,上傳到 GitLab 或者其它私有的代碼託管平臺,有兩種玩法:get

最容易的玩法,在 composer.json 中添加 repositories 直接用 vcs 指定代碼庫地址
這樣作有一個缺點,當你的包不少的時候,你全都得在 composer.json 中加上才行。it

自已架設 Packagist 相似的服務,Packagist 官方提供了兩款: Toran,收費,開源方案是 Satis,不過它偏手動一些,本身酌情選擇便可。
私有包有一個點須要注意:受權,私有包確定都是須要受權才能訪問的,這裏因爲方案不太通用,你們根據本身的場景來解決就行了。

參考:https://learnku.com/articles/...

相關文章
相關標籤/搜索