首页 » Web前端 » php版本demo技巧_composer进修运用satis构建私有仓库

php版本demo技巧_composer进修运用satis构建私有仓库

访客 2024-12-08 0

扫一扫用手机浏览

文章目录 [+]

composer 常用命令包括

# 在一个已经存在composer.json的项目中,install用来安装所声明的依赖composer install # require用来安装某个包composer require packagename# update 用来更新所有依赖到最新版本,一样平常不要利用,可以单独更新某个包即可composer update # 移除某个依赖composer remove packagename# 当更新了composer.json之后可以实行这个命令composer dumpautoloadcomposer的事理:

一样平常我们编码完某个完全的功能之后,如供应了一个日志包,我们常日会托管到vcs,composer会通过读取composer.json配置获取源码包,如果我们不声明composer.json中repositories,则默为packagist.org这是官方的仓库,那当我们每次install的时候都会到这里拉取包,全体流程看起来是这样,客户端每次从仓库拉取下载依赖,仓库根据配置掩护依赖信息,仓库可以从vcs获取包的源代码。

php版本demo技巧_composer进修运用satis构建私有仓库

client-repostory

php版本demo技巧_composer进修运用satis构建私有仓库
(图片来自网络侵删)

packagist.org有时由于网络缘故原由可能导致很慢,我们可以配置阿里云的源来提高访问速率

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

但是每次install都须要去拉取还是须要一些网络花费,另一方面如果自己私有包也未便利放到官方仓库中,这里我们可以搭建自己的私有仓库。

我们利用官方satis的办法来进行。
https://github.com/composer/satis

利用步骤首先下载satis:

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

2.创建配置文件satis.json: 紧张用来配置依赖、仓库、归档等

{ "name": "self-repository", "homepage": "http://127.0.0.1:8099/", // 源码仓库 "repositories": [// type可以是vcs 如填写一个git仓库地址// 也可以是composer代表是一个composer仓库,这里我们利用阿里云的仓库// 比git要快{ "type": "composer", "url": "https://mirrors.aliyun.com/composer/" } ], // 须要引入哪个包及版本 // 如果填写的话,build的韶光会比较长奥,由于他要拉取说有版本 "require":{ "guzzlehttp/guzzle":"" }, // 依赖的依赖是否要引入 "require-dependencies": true, // 是否要缓存到本地 "archive": { // 目录 "directory": "dist",7 // 打包的格式 "format": "tar", // 访问url "prefix-url": "http://127.0.0.1:8099/", // 是否跳过dev依赖 "skip-dev": true }}

3.build天生仓库文件:

php -d memory_limit=-1 ./bin/satis build satis.json public/

4.现在就可以在客户端拉取了,编写客户端composer.json

{"require":{"guzzlehttp/guzzle":"~6.2.0"},"config": { "secure-http": false },"repositories": [ { "type": "composer", "url": "http://127.0.0.1:8099/" } ]}

实行composer install -vvv 可以看到依赖包是从127.0.0.1:8099直接下载来的。
这样就节省了韶光与网络连接,提高了启动速率

composer install -vvv

composer.lock

我们从server的log也可以看到

PHP 7.3.11 Development Server started at Thu Sep 10 11:17:22 2020Listening on http://127.0.0.1:8099Document root is /Users/gaoz/project13/php_demo/satis/publicPress Ctrl-C to quit.[Thu Sep 10 11:35:07 2020] 127.0.0.1:59086 [200]: /[Thu Sep 10 11:35:08 2020] 127.0.0.1:59087 [404]: /favicon.ico - No such file or directory[Thu Sep 10 11:43:34 2020] 127.0.0.1:62717 [200]: /[Thu Sep 10 11:44:46 2020] 127.0.0.1:63187 [200]: //dist/guzzlehttp/guzzle/guzzlehttp-guzzle-d094e337976dff9d8e2424e8485872194e768662-zip-a8745d.tar[Thu Sep 10 11:46:28 2020] 127.0.0.1:63874 [200]: /[Thu Sep 10 11:46:29 2020] 127.0.0.1:63875 [200]: /[Thu Sep 10 11:46:30 2020] 127.0.0.1:63885 [200]: /[Thu Sep 10 11:46:30 2020] 127.0.0.1:63891 [200]: /[Thu Sep 10 11:47:35 2020] 127.0.0.1:64320 [404]: /composer.json - No such file or directory[Thu Sep 10 11:50:29 2020] 127.0.0.1:65227 [200]: /packages.json[Thu Sep 10 11:52:30 2020] 127.0.0.1:49905 [200]: /packages.json[Thu Sep 10 11:52:30 2020] 127.0.0.1:49906 [200]: /include/all%245aa070c74c1cb41e55a6d7017e066dec7b06f52f.json[Thu Sep 10 11:52:53 2020] 127.0.0.1:50057 [200]: /packages.json[Thu Sep 10 11:52:57 2020] 127.0.0.1:50086 [200]: //dist/ralouphie/getallheaders/ralouphie-getallheaders-120b605dfeb996808c31b6477290a714d356e822-zip-821645.tar[Thu Sep 10 11:52:57 2020] 127.0.0.1:50087 [200]: //dist/psr/http-message/psr-http-message-f6561bf28d520154e4b0ec72be95418abe6d9363-zip-7ab320.tar[Thu Sep 10 11:52:57 2020] 127.0.0.1:50088 [200]: //dist/guzzlehttp/psr7/guzzlehttp-psr7-239400de7a173fe9901b9ac7c06497751f00727a-zip-b3dac2.tar[Thu Sep 10 11:52:57 2020] 127.0.0.1:50089 [200]: //dist/guzzlehttp/promises/guzzlehttp-promises-a59da6cf61d80060647ff4d3eb2c03a2bc694646-zip-081b1f.tar[Thu Sep 10 11:52:57 2020] 127.0.0.1:50090 [200]: //dist/guzzlehttp/guzzle/guzzlehttp-guzzle-8d6c6cc55186db87b7dc5009827429ba4e9dc006-zip-fdc331.tar

启动做事或者nginx 配置访问目录, 这里我们利用PHP启动一个大略的server,公司项目最好利用Nginx代理一下, 通过web端可以看到私有库的包列表

gaoz@localhost satis % php -S 127.0.0.1:8099 -t public

访问8099

satis-web端

干系文档:

satis利用方法:https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md

干系代码:https://github.com/nobody05/composer_satis_demo

标签:

相关文章

房山第一探寻历史文化名区的魅力与发展

房山区,位于北京市西南部,历史悠久,文化底蕴深厚。作为北京市的一个重要组成部分,房山区的发展始终与首都的发展紧密相连。房山区积极推...

Web前端 2025-02-18 阅读0 评论0

手机话费开钻代码数字时代的便捷生活

我们的生活越来越离不开手机。手机话费作为手机使用过程中的重要组成部分,其充值方式也在不断创新。手机话费开钻代码应运而生,为用户提供...

Web前端 2025-02-18 阅读0 评论0

探寻专业奥秘如何查询自己专业的代码

计算机科学已成为当今社会不可或缺的一部分。掌握一门专业代码对于个人发展具有重要意义。面对繁杂的学科体系,如何查询自己专业的代码成为...

Web前端 2025-02-18 阅读0 评论0