php composer使用私有仓库Nexus进行上传和下载
2022-12-14 本文已影响0人
天草二十六_简村人
0、Nexus配置私有仓库
image.pngnexus的内网ip地址是 http://192.168.5.6:8081/
a、新建blob store
image.pngb、新建hosted类型的composer仓库
image.png二方包的存放位置,一些公用的模块封装,然后让各个项目去引用。但是它不对外,不会发布到远程仓库。
c、新建多个proxy类型的composer仓库
代理的作用是,如果在私有仓库里不存,则从远程仓库拉取,然后缓存到私有仓库。反之,已存在于私有仓库,就直接从私有仓库下载。这样子的好处是减少对外网的依赖和开销。
- image.png
- image.png
-
http://composer.xh.com (使用statis搭建的composer仓库)
image.png
d、新建group类型的composer仓库
将上面的hosted和proxy仓库列表整合起来。
这里还有一个satis自建的composer私有仓库。
1、安装Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
composer --version
2、Composer配置
方式一:配置Composer全局使用私有源
composer config -g repo.packagist composer http://192.168.5.6:8081/repository/xh-composer/
方式二:配置项目级别配置使用私有源
编写项目根目录下的composer.json
{
"packagist.org": false ,
"repositories": {
"packagist": {
"type": "composer",
"url": "http://192.168.5.6:8081/repository/xh-composer/"
}
},
"config": {
"secure-http": false
},
"require": {
"monolog/monolog": "1.0.*",
"pugx/shortid-php":"v0.5.1"
}
}
3、安装依赖
composer会根据当前路径下composer.json中写的下载依赖
composer install
# 依赖会被下载当前目录下的vendor文件夹中
手动添加依赖
composer require monolog/monolog
4、上传包到Hosted类型的仓库中
-
编辑composer.json,添加项目包的信息,像名字,描述,版本号,维护者等信息。
"repositories": { "packagist": { "type": "composer", "url": "http://192.168.5.6:8081/repository/xh-composer/" } }
-
归档项目
composer archive --format=zip
-
上传归档项目包
curl -v --user '{username}:{password}' --upload-file xh-auth.zip http://192.168.5.6:8081/repository/composer-release/packages/upload/xxx/xh-auth/1.0.0
查看上传的结果
image.png-
下载引用上传的包
composer require xxx/xh-auth:1.0.0