composer 私有化

我们知道,正常情况下,我们使用 composer install 时,是从 https://packagist.org/ 拉取的 package.
如果设置了 中国镜像,那么就会从你的镜像地址拉取。

处于一些需要,我们往往需要引用自己开发的 composer package。如果是公用还好,我们直接结合 github 和 packagist 发布共有的镜像就好了。

那如果我们使用的是自建的 git 服务(如: gitlab 或者 gogs)开发的 composer package,并且是私有,咋办?

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

开发的全局的 package

比如我们开发了全局的脚手架

# 允许 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)

你可能感兴趣的:(PHP)