Composer 私有化备忘录

我们知道,正常情况下,我们使用 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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!