搭建私有Composer
阿新 • • 發佈:2021-07-12
搭建私有composer
適用於公司內部進行包管理,在元件化、服務化場景下部分業務程式碼不方便放到開源平臺,可使用內部git伺服器,配合composer/satis專案搭建私有composer處理內部依賴,優化程式碼結構,統一依賴
環境
- 系統:
windows 10
- php版本:
7.2.17
(當前satis要求^7.2.9
) - git服務:
gitlab
- 示例專案:
aichenk/open-crypt
步驟
-
提交專案原始碼到gitlab
- 需配置composer.json,步驟本次不作說明
- 需可以通過http方式訪問(gitlab本身支援)
-
使用composer建立satis專案並載入依賴
$ composer create-project composer/satis satis --stability=dev --keep-vcs $ cd satis $ composer install
-
增加配置檔案satis.json(本次建立在專案根目錄,可以自由配置)
{ "name": "satis", "homepage": "http://localhost:8080/", "repositories": [ { "type": "vcs", "url": "http://localhost/aichenk/open-crypt.git" } ], "config": { "secure-http": false } }
homepage
表示satis訪問地址(web伺服器配置,後續用到)repositories
中寫入git倉庫地址secure-http:false
表示支援http訪問
-
生成倉庫列表及網頁檔案
$ php bin/satis build satis.json ./web
-
配置web訪問(本示例使用php自帶web服務演示)
$ php -S 0.0.0.0:8080 -t ./web
-
開啟配置的
homepage
驗證是否成功
使用
-
修改專案composer.json檔案
{ "repositories": { "packagist": { "type": "composer", "url": "http://localhost:8080/" } }, "config": { "secure-http": false }, "require": { "aichenk/open-crypt": "^1.0" } }
-
執行
composer install
即可
其他說明
-
專案中新增多個composer源
{ "repositories": [ { "type": "composer", "url": "http://localhost:8080" }, { "type": "composer", "url": "https://packagist.phpcomposer.com" } ] }
-
略過satis直接使用gitlab載入包
{ "repositories": [ { "type": "vcs", "url": "http://localhost/aichenk/open-crypt.git" }, { "type": "composer", "url": "https://packagist.phpcomposer.com" } ] }