composer satis 处理私有资源包

satis

satis 是一个静态的 composer 代码库生成器。他可以提供私有资源包更新服务;

安装

首先保证已经安装了composer;
然后到web根目录;

composer create-project composer/satis --stability=dev --keep-vcs

执行完毕之后,会生成一个satis目录;然后创建satis配置文件

vim satis/satis.json

配置文件内容;

{
    "name": "something",
    "homepage": "http://packages.local.com",
    "repositories": [
        {"type": "vcs", "url": "something.git"}
    ],
    "require":{
        "something":"*"
    },
    "archive":{
        "directory":"dist",
        "format":"tar",
        "prefix-url":"http://packages.local.com/",
        "skip-dev":true
    }
}

在 repositories 里面即为私有资源包,里面url可以使用内网git地址;
PS:私有资源包里面必须要有composer.json文件;如果项目没有composer依赖使用,可以建立一个简单的composer.json文件;如下:

{
  "name": "name",
  "description": "description",
  "license": "MIT",
  "authors": [
    {
      "name": "name",
      "email": "your@gmail.com"
    }
  ],
  "require":{
    "php":">=7.0.0"
  }
}

使用下面的命令既可以生成私有库站点;

php bin/satis build satis.json public/

这里执行完毕之后,配置web服务器,将配置文件 satis.json 里面 homepage 的域名配置到web服务器;
nginx的配置文件如下:

server {
    listen 80;
    server_name packages.local.com;
    root /data/www/satis/public;
    index index.php index.html index.htm;

    access_log /tmp/nginx/packages.local.com.access.log;
    error_log /tmp/nginx/packages.local.com.error.log;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php($|/) {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_param   PATH_INFO $fastcgi_path_info;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include     fastcgi_params;
    }
}

然后在浏览器里面访问配置的域名packages.local.com就可以访问私有库了;
显示如下:
在这里插入图片描述
这时候在satis的站点里面就能看到我们的私有资源包了;

使用

在项目里面就可以获取私有库里面的资源包了;
在项目里面的 composer.json 里面增加

    "repositories": {
        "packages": {
            "type": "composer",
            "url": "http://packages.local.com"
        },
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    },
    "require": {
        "yourpackage": "~1.0",
        "php": ">=7.0.0"
    }    

然后执行composer update 就可以获取到私有库里面的包了;

repositories 里面的配置项是所有资源包的更新站点,可以配置多个,composer会遍历寻找资源包的;
这里配置的是http的库站点,如果更新出错需要执行下面命令,将composer允许更新非https的站点;

composer config -g secure-http false
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值