美文网首页
php composer使用私有仓库Nexus进行上传和下载

php composer使用私有仓库Nexus进行上传和下载

作者: 天草二十六_简村人 | 来源:发表于2022-12-14 17:07 被阅读0次

    0、Nexus配置私有仓库

    nexus的内网ip地址是 http://192.168.5.6:8081/

    image.png

    a、新建blob store

    image.png

    b、新建hosted类型的composer仓库

    二方包的存放位置,一些公用的模块封装,然后让各个项目去引用。但是它不对外,不会发布到远程仓库。

    image.png

    c、新建多个proxy类型的composer仓库

    代理的作用是,如果在私有仓库里不存,则从远程仓库拉取,然后缓存到私有仓库。反之,已存在于私有仓库,就直接从私有仓库下载。这样子的好处是减少对外网的依赖和开销。

    d、新建group类型的composer仓库

    将上面的hosted和proxy仓库列表整合起来。
    这里还有一个satis自建的composer私有仓库。

    image.png

    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
      

    相关文章

      网友评论

          本文标题:php composer使用私有仓库Nexus进行上传和下载

          本文链接:https://www.haomeiwen.com/subject/dvklqdtx.html