composer包管理注意事項

上傳到packagist上的包的標籤不會自動刪除

雖然我們通過關聯GitHub,當我們新建一個tag的時候,packagist會自動同步該標籤。但是當我們刪除標籤的時候,packgist卻不會自動刪除該標籤(或者是沒有正確設置,如果可以同步刪除,請指教)。此時我們就需要登錄packgist來手動刪除不需要的標籤。

如果標籤中含有字母,該標籤不會被直接下載,除非指定該版本

一般情況下,我們會使用composer require package_name直接下載一個包,而不指定版本。此時我們下載的是最新穩定版本的包。何爲最新穩定?我們來看一個包的標籤

2.0-alpha
1.x-dev
1.2
1.1
1.0

此時我們使用composer require下載下來最新穩定的版本就是1.2版本了,而1.x-dev和2.0-alpha都屬於開發或者測試版本,不能直接應用。如果我們是包的製作者,同樣應該遵循這個原則。

由於好奇,製作了一個如下標籤的包

2.0
1.2-dev
1.1
1.0

此時我們直接composer require會下載到2.0嗎?答案是不能,我們只能下載1.1,因爲到了1.2-dev便不會再往上查找,所以我們只能下載1.1,當然我們如果刪除了1.2-dev,下載下來的版本就是2.0了。

所以製作包的標籤的時候,最上面的永遠是開發或者測試版本,不要把正式版本放在含有字母的標籤的上面,因爲它默認不會被下載。

如果你在GitHub上做了標籤的刪除操作,記得上packagist上進行同步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章