-- 创造无限可能

coposer基础使用

2022-05-10 00:05:00
385 人浏览 3 人点赞
有用,点赞支持一下

基础操作

  1. composer install:根据composer.json文件安装库
    执行该命令,会根据composer.json里面的reuqire项安装第三方库

    {
     "require": {
         "topthink/framework": "5.0.5",
     }
    }
    
  2. composer update:更新库
    该命令会根据composer.json配置文件中包依赖以及相应的版本,更新包的版本,但是该命令会将所有的包都更新到最新版本,在实际的项目中需要谨慎使用,尤其是在生产环境上面。
    需要注意的时,包能升级的版本会受到版本约束的约束,包不会升级到超出约束的版本的范围。例如如果 composer.json 里包的版本约束为 ^1.10,而最新版本为 2.0。那么 update 命令是不能把包升级到 2.0 版本的,只能最高升级到 1.x 版本。关于版本约束请看后面的介绍。

  3. composer require 包名称
    安装指定的库,安装完之后,对应的依赖配置会自动添加在composer.json配置文件中。
    例如:composer remove topthink/framework

  4. composer remove 包名称
    该命令可以移除指定的包依赖,例如:composer remove topthink/framework

  5. composer show
    查看已安装的包的信息

  6. composer search 包名
    查找包

  7. composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    替换镜像源
    -g:全局替换,如果不用,只设置到当前项目

常见问题

  1. Composer.json与Composer.lock的区别是什么

Composer版本约束

1.精准版本
明确要安装到那个版本,如需要安装包的版本是1.2.3
composer.json文件设置

"topthink/think-captcha": "v1.2.3"
composer require topthink/think-captcha

2.通配符 *,星号自带替代的意思
既满足指定范围即可,如下范围在5.0到5.1之间

"topthink/framework": "5.0.*",

3.范围
范围常用的操作符有>,>=,<,<=,!=。你可以定义多个范围,使用空格或者逗号 , 表示逻辑上的与,使用双竖线 || 表示逻辑上的或。其中与的优先级会大于或。
// 表示大于等于0.90并且小于3.0的版本

"ruflin/elastica": ">=0.90 <3.0",

4.波浪符 ~,取波浪线水平之意
该操作符限制最小版本号。

允许表达式中的最后一位版本号达到最大值
~1.2>=1.2 <2.0相等,~1.5.6>=1.5.6 < 1.6.0相等。也就是主版本号与次版本号保持不变,修复版本号可以达到最大值。
5.折音符 ^,取向上之意
该操作符约束锁定最大版本号。
锁定表达不变的是第一位主版本号,允许升级版本到安全的版本号
^1.2就等于>=1.2 <2.0^1.2.3就等于>=1.2.3 < 2.0.0

其他注意事项

  1. 建议升级composer到最新版本 composer self-update