使用 satis 搭建 composer 本地仓库
环境
- windows
- nginx
- php
- composer
安装
拉取 satis 项目包,并拉取项目依赖
composer create-project composer/satis --stability=devcd satiscomposer install
配置
修改 satis/config.json 文件,文件内容如下
{"name": "composer 本地仓库","homepage": "http://packages.example.org", // 访问域名"repositories": [// 要拉取包的仓库地址{ "type": "vcs", "url": "https://github.com/test-lin/db.git" },{ "type": "vcs", "url": "https://github.com/test-lin/queue.git" },{ "type": "vcs", "url": "https://github.com/test-lin/cache.git" },{ "type": "vcs", "url": "http://192.168.6.251:3000/php/xjwSpider.git" }],"require": { // 要拉取到本地的包文件 注:不会包含包的依赖"test-lin/db": "*","test-lin/queue": "*","test-lin/cache": "*","php/xjwSpider": "*"},"archive": {"directory": "dist","format": "tar","prefix-url": "http://packages.example.org" // * 这个参数是当前项目的域名,作用是以zip压缩包的方式直接下载包文件}
}
拉取包到本地仓库
web/ 是本地仓库访问地址。
php bin/satis build config.json web/
如果需要定时更新,则需要配置定时任务去定时更新
设置本地仓库
nginx 设置虚拟主机
server {listen 80;server_name packages.example.org;root /var/www/satis/web;index index.php index.html;location ~* \.php$ {include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;}
}
使用本地仓库中的包
composer.json 文件中添加以下 json 拉取,即可获取本地库了.
如果本地仓库不存在且有网络会去网络中获取。repositories 参数可以设置多个
{"repositories": [{"type": "composer","url": "http://packages.example.org"}]
}
FQA
1. github 的包需要配置 token
Could not fetch https://api.github.com/repos/test-lin/db/git/refs/heads?per_page=100, please create a GitHub OAuth token to go over the API rate limit
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+packages.example.org+2018-06-28+0310
to retrieve a token. It will be stored in "/home/vagrant/.config/composer/auth.json" for future use by Composer.
解决方法:
访问命令行中提示的 https://github.com/settings/t...
复制 token description 文本框中内容
拉到页底 点击 generate token
在命令行中粘贴复制内容确认限可
2. 私有包,拉取不了
解决方法:
本地生成 ssh key ,配置到要拉取项目的平台即可,免密拉取了
ssh-keygen -t rsacat ~/.ssh/id_rsa.pub
以 gogs 为例
3. composer 不支持 http
Your configuration does not allow connections to http://192.168.6.251:3000/php/xjwSpider.git. See https://getcomposer.org/doc/06-config.md#secure-http for details.
解决方法:
composer config -g secure-http false
4. 拉取的包 composer.json 配置有误
[Composer\Repository\InvalidRepositoryException]
No valid composer.json was found in any branch or tag of http://192.168.6.251:3000/php/xjwSpider.git, could not load a package from it.
解决方法:
- 确保项目根部有 composer.json
- composer.json 里需要设置 name
原文地址:https://segmentfault.com/a/1190000016523278
转载于:https://www.cnblogs.com/lalalagq/p/9969862.html
使用 satis 搭建 composer 本地仓库相关推荐
- 最新jfrog artifactory搭建Android本地仓库教程
提高gradle编译速度 jfrog artifactory本地仓库搭建 前言 什么是本地仓库 jfrog本地仓库搭建 更改项目仓库地址 解决Received status code 401 from ...
- 通过linux挂载光盘以及搭建yum本地仓库使用rpm软件包
linux挂载光盘 yum并没有从0创建仓库的能力,仓库的本质是rpm包+repodata元数据.必须要现有rpm包和repodata元数据,yum才能所谓的搭建一个软件仓库 光盘里自带了rpm包和r ...
- 搭建maven本地仓库
最近学习springboot的一些东西,需要eclipse环境和maven.以前的项目都是直接pom.xml引入,没有搭建过本地的maven仓库,正好趁着这次机会试着搭建一下. 安装maven之前,首 ...
- Satis搭建composer私有库(自定义下载目录)
在我们的日常php开发中需要使用大量的第三方包和类库, 怎么管理是一个问题, 我们用的Yii2框架, 但是并没有把composer用起来, 由于最近更换为docker部署项目, 于是想起来用compo ...
- Nexus 搭建docker本地仓库(hosted)和私有仓库(proxy)
本文主要参考"使用 Nexus 搭建 Docker 仓库",在安装过程中遇到一些问题,本文中一并总结.在此对原作者表示感谢! 环境说明: Centos 7.4 OpenJDK 8 ...
- satis 搭建 Composer 私有库的方法
安装 satis 命令行下执行: php create-project composer/satis --stability=dev --keep-vcs . 配置 创建 satis.json 文件, ...
- 使用 satis 结合 gitlab 搭建 composer 私有包仓库
使用 satis 结合 gitlab 搭建 composer 私有包仓库 环境 centos 7.3 composer gitlab nginx 使用 安装 satis composer create ...
- Composer Satis搭建
采坑记录中 描述 Satis 是一个静态的 composer 代码库生成器 安装satis composer.phar create-project composer/satis --stabilit ...
- 使用satis 搭建私有Composer
前言 网上有很多教程,但是作为小白,遇见很多错误浪费了很多时间. 这里记录下我自己安装的整个流程 准备工作 安装composer 参考 http://docs.phpcomposer.com/00-i ...
最新文章
- CSS a:hover伪类在IE6下的问题
- java的hashmap排序_Java面试题:如何对HashMap按键值排序
- RHEL6基础四十二之RHEL文件共享①NFS
- 【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 )
- Linux使用iptables设置黑白名单
- 深拷贝、浅拷贝以及引用传递和按值传递的区别与联系
- WCF中的方法重载 实现
- 赋值语句 变量的地址相关 : RUNOOB python练习题7
- java kcp,重新认识KCP - osc_rreaoxa0的个人空间 - OSCHINA - 中文开源技术交流社区
- sqlserver evaluation是什么版本_SQL Server 基础知识
- unity打开一片黑_你的面膜上黑!名!单!了!吗!
- MVC PartialView视图使用心得
- 【iOS QR Code】集成ZXingWidget(XCode Version 4.5.2,iOS 6.0 SDK)
- 1012. 数字分类 (20)-PAT乙级真题
- 中国裁判文书下载:selenium路线
- IOS -- 获取用户的健康数据的运动步数
- SQL Server 2008 R2导出数据脚本和导入数据库脚本的方法(原创+转载)
- 女人长的漂亮不如活的漂亮(Top60)
- ARM S5PV210 X210 刷机教程总结
- 孤岛危机2通关,看到这篇剧情,太精彩忍不住转了--孤岛危机2详细剧情。
热门文章
- ADTK 聚合器(aggregator)方法汇总
- 基础数学(二)两数之和 三数之和
- 搜索引擎模糊搜索和自动纠错——Fuzzy Query by Levenshtein Automata
- 一览科技CTO陈锡言:大模型阴影下的技术创业机会——链接大模型与用户|量子位·视点分享回顾...
- Linux系统编程37:多线程之什么是临界区和临界资源以及如何使用mutex互斥锁
- 埃秀马生物科技美国关联公司F1 Oncology公司将提供数据进一步证明其创新的恶性实体瘤的床旁CAR-T疗法
- 离散数学·欧拉图、哈密顿图、无向树和生成树
- 调用微信支付wx.chooseWXPay 详细流程
- U盘读取时文件或目录损坏且无法读取修复办法
- 2017年暑期实习求职经历