环境

  • windows
  • nginx
  • php
  • composer

安装

拉取 satis 项目包,并拉取项目依赖

```
composer create-project composer/satis --stability=dev

cd satis

composer install


<h2>配置</h2>
<p>修改 satis/config.json 文件,文件内容如下</p>

{

"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压缩包的方式直接下载包文件

}

}


<h2>拉取包到本地仓库</h2>
<p>web/ 是本地仓库访问地址。</p>

php bin/satis build config.json web/


<p>如果需要定时更新,则需要配置定时任务去定时更新</p>
<h2>设置本地仓库</h2>
<p>nginx 设置虚拟主机</p>

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;
}

}


<h2>使用本地仓库中的包</h2>
<p>composer.json 文件中添加以下 json 拉取,即可获取本地库了.</p>
<p>如果本地仓库不存在且有网络会去网络中获取。repositories 参数可以设置多个</p>

{

"repositories": [{

"type": "composer",

"url": "http://packages.example.org"

}]

}


<h2>FQA</h2>
<h3>1. github 的包需要配置 token</h3>

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.


<p>解决方法:</p>
<p>访问命令行中提示的 <a href="https://github.com/settings/tokens/new?scopes=repo&amp;description=Composer+on+packages.example.org+2018-06-28+0310" rel="nofollow noreferrer">https://github.com/settings/t...</a></p>
<p>复制 token description 文本框中内容</p>
<p>拉到页底 点击 generate token</p>
<p>在命令行中粘贴复制内容确认限可</p>
<h3>2. 私有包,拉取不了</h3>
<p>解决方法:</p>
<p>本地生成 ssh key ,配置到要拉取项目的平台即可,免密拉取了</p>

ssh-keygen -t rsa

cat ~/.ssh/id_rsa.pub


<p>以 gogs 为例</p> ![](https://img2018.cnblogs.com/blog/1504257/201811/1504257-20181116160341342-710905133.jpg) <h3>3. composer 不支持 http</h3>

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.


<p>解决方法:</p>

composer config -g secure-http false


<h3>4. 拉取的包 composer.json 配置有误</h3>

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


<p>解决方法:</p>
<ol>
<li>确保项目根部有 composer.json</li>
<li>composer.json 里需要设置 name</li>
</ol> 原文地址:https://segmentfault.com/a/1190000016523278

使用 satis 搭建 composer 本地仓库的更多相关文章

  1. 使用Nexus搭建Maven本地仓库

    阅读目录 序 Nexus 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 在工作中可能存在有 ...

  2. nexus 搭建maven本地仓库

    使用Nexus搭建Maven本地仓库   阅读目录 序 Nexus 序 在工作中可能存在有些开发机器不能上网,大量的机器获取jar包会导致公司网络很慢,还有时候公司会自己发布自己的项目版本,其他的项目 ...

  3. Linux 用脚本编写搭建yum本地仓库

    Linux 用脚本编写搭建yum本地仓库 源码如下: #!/bin/bash #该脚本用于自动化搭建本地yum仓库 #挂载光盘 #作者:雨中落叶 #博客:https://www.cnblogs.com ...

  4. 搭建YUM本地仓库

    本文介绍如何利用CentOS 7 ISO光盘镜像搭建YUM本地仓库. 环境准备: (1)VMware15.5版本虚拟机 (2)CentOS-7-x86_64-DVD-1908光盘镜像文件 1. 搭建Y ...

  5. 搭建maven本地仓库,idea应用本地maven仓库

    提环境: 安装好tomcat.maven.jdk.idea. 打开maven安装目录,在目录下新建 maven仓库文件夹(名子随便): 打开conf\setting.xml 加入<localRe ...

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

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

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

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

  8. 使用apt-mirror搭建debian本地仓库

    apt-mirror能够将官方镜像下载到本地,并保证目录结构与其一致,但是不能对镜像仓库进行修改.如果想要修改镜像仓库,需要使用reprepro. 1.安装apt-mirror # aptitude ...

  9. 使用Nexus2搭建Maven本地仓库

    由于OS为WindowsXP,而Nexus3forWindows为x64版本,只能选择安装nexus2了. Windows(x86)平台,Nexus Repository Manager OSS 2. ...

随机推荐

  1. MAVN(自动创建maven项目骨架) 项目架构的生成

    1.Maven的项目架构生成 A.打开DOS命令窗口选定文件的更跟目录 B:输入命令 mvn  archetype:generate C:根据提示输入对应的标识 如图: 最后提示 SUCCESS 即为 ...

  2. (7)JPA - Hibernate【从零开始学Spring Boot】

    在说具体如何在spring boot 使用Hibernate前,先抛装引玉些知识点?什么是JPA呢? JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象- ...

  3. 操作符及SQL函数

    本节要点: 掌握 SQL 操作符 l  算术操作符 l  比较操作符 l  逻辑操作符 l  集合操作符 l  连接操作符 l  操作符的优先级 掌握并熟练应用SQL 函数 l  日期函数 l  字符 ...

  4. POJ 2134

    这道题屡交屡错,什么鬼!!!!明明就是一个简单的BFS,啊~!!!!!~~~~~~就是一个简单的BFS!!!!~~~~~什么鬼!!!!!!! FUCK,在discuss里也很多人吐槽,怪不得那么少人做 ...

  5. POJ 3737

    第一道三分题,有模板 #define eps 10e-6 double cal(){}//计算题目所需要的值 while(l+eps<r) { m1=l+(r-l)/3; m2=r-(r-l)/ ...

  6. POJ 1777

    一道好题. 由算术基本定理,知: 那么,对于上式的每个因子值只能是2^M的形式.取第一个式子为例,通过分解因式出(1+p^2)=2^k知,a只能为1. 于是对于p只能是梅森素数.而且每个梅森素数只能出 ...

  7. Android开发之配置adb工具的环境变量

    在Android开发中,adb是一个非常好用也非常使用的工具,可是使用的时候假设没有改动环境变量,每一次都须要输入全然路径非常麻烦.解决的方法是在环境变量中加入adb工具的路径. Windows平台 ...

  8. 杭电 1016 Prime Ring Problem

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  9. Troubleshooting Failed Requests Using Tracing in IIS 8.5

    https://docs.microsoft.com/en-us/iis/troubleshoot/using-failed-request-tracing/troubleshooting-faile ...

  10. C# Keywords - is

    记录一下在日常开发过程中遇到的一些C# 基础编程的知识!希望以后能用的着.知识是在平常的开发过程中去学到的.只有用到了,你才能深入的理解它,并用好它. 本资料来源于:MSND下面是一些相关的code ...