后端相关技能(七):依赖包管理

预期学习目标

  • composer的学习
  • 基本composer的编写
  • 项目中composer的使用

软件包管理

基本配置

镜像配置

# 全局配置
composer config -g repo.packagist composer https://packagist.laravel-china.org

# 项目配置
composer config repo.packagist composer https://packagist.laravel-china.org

# 取消镜像
composer config -g --unset repos.packagist  

# 查看配置
composer config -l

配置代理

只在当前终端有效

永久代理设置 : 将代理命令写入配置文件 ~/.profile 或 ~/.bashrc 或 ~/.zshrc 中:

当前终端有效: 在当前终端输入命令

# Windows HTTP代理
set http_proxy  = http://127.0.0.1:1080
set https_proxy = http://127.0.0.1:1080

# Windows SOCKS5 代理
set http_proxy  = socks5://127.0.0.1:1080
set https_proxy = socks5://127.0.0.1:1080

# Windows 取消终端代理
set http_proxy  =
set https_proxy =

# Linux HTTP代理
export http_proxy  = http://127.0.0.1:1080
export https_proxy = http://127.0.0.1:1080

# Linux SOCKS5 代理
export http_proxy  = socks5://127.0.0.1:1080
export https_proxy = socks5://127.0.0.1:1080

# Linux 所有 SOCKS5 代理
export ALL_PROXY = socks5://127.0.0.1:1080

# Linux 取消终端代理
unset http_proxy
unset https_proxy
unset ALL_RPOXY

基本命令

基本命令

Composer 使用技巧与要点
# 终端查看安装列表
composer show

# 添加拓展
composer require repository/package

# 删除拓展
composer remove repository/package

# 全局添加扩展
composer global require repository/package

# 全局删除拓展
composer global remove repository/package

# 更新指定的依赖
composer update foo/bar

初始化包

composer init : 初始化包(生成composer文件)

项目 描述 必填
name 项目名称格式:作者或组织名/项目包名 必填
description 项目描述 必填
authors 作者,格式必须是:名字<邮件地址> 可选
minimum-stability 项目获取依赖包的最小稳定版本,stable, RC, beta, alpha, dev 默认为 stable(稳定) 可选
type 包的安装类型,默认为 library,project,metapackage,composer-plugin 可选
license 许可协议,GNU 可选
require-dev 开发环境所需的依赖包(install 或 update 支持使用 --no-dev 参数来跳过 require-dev) 可选

问题解决

  • 未安装拓展
requires ext-dom * -> the requested PHP extension dom is missing from your system.

# 缺少 ext-dom,该拓展是用来读 取xml的,安装 php-xml 即可
yum install php-xml
  • use 提示 class not found
# 更新自动加载文件

composer dump-autoload
  • 内网仓库无法访问导致安装外部包失败
# 去掉对应的仓库安装后再补充回去

composer.json -> delete repositories -> composer require -> add repositories

自动加载

# 更新自动加载文件而不更新包
composer dump-autoload

# 提前加载需要的类并提前返回
composer dump-autoload --optimize

本地仓库

"repositories": [
    {
        "type": "path",
        "url": "/full/or/relative/path/to/development/package"
    }
]

相关文章

后端相关技能(一):数据库
后端相关技能(二):Vue框架
后端相关技能(三):正则表达式
后端相关技能(四):计算机网络
后端相关技能(五):Node.js
后端相关技能(六):压力测试
后端相关技能(七):依赖包管理

你可能感兴趣的:(composer)