Composer 私有化備忘錄

rovast發表於2019-06-20

我們知道,正常情況下,我們使用 composer install 時,是從 https://packagist.org/ 拉取的 package.
如果設定了 中國映象,那麼就會從你的映象地址拉取。

處於一些需要,我們往往需要引用自己開發的 composer package。如果是公用還好,我們直接結合 githubpackagist 釋出共有的映象就好了。

那如果我們使用的是自建的 git 服務(如: gitlab 或者 gogs)開發的 composer package,並且是私有,咋辦?

本文描述的是 不搭建私有 composer伺服器 的方式來使用私有包。

全域性包

比如我們開發了全域性的腳手架

# 允許 http 源
composer config --global secure-http false

# 新增本專案的源
composer config --global repositories.package vcs http://gitlab.yourhost.com/package.git

# 全域性安裝
composer global require vendor/package -vvv

非全域性包

修改 composer.json 即可,關鍵欄位設定如下:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "http://gitlab.yourhost.com/package.git"
    }
  ],
  "require": {
    "vendor/name": "dev-master"
  },
  "config": {
    "secure-http": false
  }
}

然後執行下述指令即可安裝

composer install -vvv

說明:

  • secure-http 允許使用 http 協議的源
  • vendor/name 對應的是自己開發的 composer 包中的 composer.json 中定義的 name 欄位
  • dev-master 表示和 master 分支保持一致。正常情況下,我們應該打 tag(或者又叫 release)
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章