拉取 satis 项目包,并拉取项目依赖php
composer create-project composer/satis --stability=dev cd satis composer install
修改 satis/config.json 文件,文件内容以下html
{ "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/ 是本地仓库访问地址。nginx
php bin/satis build config.json web/
若是须要定时更新,则须要配置定时任务去定时更新git
nginx 设置虚拟主机github
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 拉取,便可获取本地库了.web
若是本地仓库不存在且有网络会去网络中获取。repositories 参数能够设置多个json
{ "repositories": [{ "type": "composer", "url": "http://packages.example.org" }] }
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.
解决方法:windows
访问命令行中提示的 https://github.com/settings/t...api
复制 token description 文本框中内容网络
拉到页底 点击 generate token
在命令行中粘贴复制内容确认限可
解决方法:
本地生成 ssh key ,配置到要拉取项目的平台便可,免密拉取了
ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub
以 gogs 为例
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
[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.
解决方法: