环境

  • 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.

解决方法:

  1. 确保项目根部有 composer.json
  2. composer.json 里需要设置 name

原文地址:https://segmentfault.com/a/1190000016523278

转载于:https://www.cnblogs.com/lalalagq/p/9969862.html

使用 satis 搭建 composer 本地仓库相关推荐

  1. 最新jfrog artifactory搭建Android本地仓库教程

    提高gradle编译速度 jfrog artifactory本地仓库搭建 前言 什么是本地仓库 jfrog本地仓库搭建 更改项目仓库地址 解决Received status code 401 from ...

  2. 通过linux挂载光盘以及搭建yum本地仓库使用rpm软件包

    linux挂载光盘 yum并没有从0创建仓库的能力,仓库的本质是rpm包+repodata元数据.必须要现有rpm包和repodata元数据,yum才能所谓的搭建一个软件仓库 光盘里自带了rpm包和r ...

  3. 搭建maven本地仓库

    最近学习springboot的一些东西,需要eclipse环境和maven.以前的项目都是直接pom.xml引入,没有搭建过本地的maven仓库,正好趁着这次机会试着搭建一下. 安装maven之前,首 ...

  4. Satis搭建composer私有库(自定义下载目录)

    在我们的日常php开发中需要使用大量的第三方包和类库, 怎么管理是一个问题, 我们用的Yii2框架, 但是并没有把composer用起来, 由于最近更换为docker部署项目, 于是想起来用compo ...

  5. Nexus 搭建docker本地仓库(hosted)和私有仓库(proxy)

    本文主要参考"使用 Nexus 搭建 Docker 仓库",在安装过程中遇到一些问题,本文中一并总结.在此对原作者表示感谢! 环境说明: Centos 7.4 OpenJDK 8 ...

  6. satis 搭建 Composer 私有库的方法

    安装 satis 命令行下执行: php create-project composer/satis --stability=dev --keep-vcs . 配置 创建 satis.json 文件, ...

  7. 使用 satis 结合 gitlab 搭建 composer 私有包仓库

    使用 satis 结合 gitlab 搭建 composer 私有包仓库 环境 centos 7.3 composer gitlab nginx 使用 安装 satis composer create ...

  8. Composer Satis搭建

    采坑记录中 描述 Satis 是一个静态的 composer 代码库生成器 安装satis composer.phar create-project composer/satis --stabilit ...

  9. 使用satis 搭建私有Composer

    前言 网上有很多教程,但是作为小白,遇见很多错误浪费了很多时间. 这里记录下我自己安装的整个流程 准备工作 安装composer 参考 http://docs.phpcomposer.com/00-i ...

最新文章

  1. CSS a:hover伪类在IE6下的问题
  2. java的hashmap排序_Java面试题:如何对HashMap按键值排序
  3. RHEL6基础四十二之RHEL文件共享①NFS
  4. 【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 )
  5. Linux使用iptables设置黑白名单
  6. 深拷贝、浅拷贝以及引用传递和按值传递的区别与联系
  7. WCF中的方法重载 实现
  8. 赋值语句 变量的地址相关 : RUNOOB python练习题7
  9. java kcp,重新认识KCP - osc_rreaoxa0的个人空间 - OSCHINA - 中文开源技术交流社区
  10. sqlserver evaluation是什么版本_SQL Server 基础知识
  11. unity打开一片黑_你的面膜上黑!名!单!了!吗!
  12. MVC PartialView视图使用心得
  13. 【iOS QR Code】集成ZXingWidget(XCode Version 4.5.2,iOS 6.0 SDK)
  14. 1012. 数字分类 (20)-PAT乙级真题
  15. 中国裁判文书下载:selenium路线
  16. IOS -- 获取用户的健康数据的运动步数
  17. SQL Server 2008 R2导出数据脚本和导入数据库脚本的方法(原创+转载)
  18. 女人长的漂亮不如活的漂亮(Top60)
  19. ARM S5PV210 X210 刷机教程总结
  20. 孤岛危机2通关,看到这篇剧情,太精彩忍不住转了--孤岛危机2详细剧情。

热门文章

  1. ADTK 聚合器(aggregator)方法汇总
  2. 基础数学(二)两数之和 三数之和
  3. 搜索引擎模糊搜索和自动纠错——Fuzzy Query by Levenshtein Automata
  4. 一览科技CTO陈锡言:大模型阴影下的技术创业机会——链接大模型与用户|量子位·视点分享回顾...
  5. Linux系统编程37:多线程之什么是临界区和临界资源以及如何使用mutex互斥锁
  6. 埃秀马生物科技美国关联公司F1 Oncology公司将提供数据进一步证明其创新的恶性实体瘤的床旁CAR-T疗法
  7. 离散数学·欧拉图、哈密顿图、无向树和生成树
  8. 调用微信支付wx.chooseWXPay 详细流程
  9. U盘读取时文件或目录损坏且无法读取修复办法
  10. 2017年暑期实习求职经历