composer基本操作

安装

参考:https://pkg.phpcomposer.com/#how-to-install-compose

//windows和linux通用方法
#下载
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

#生成:composer.phar
php composer-setup.php

如果是局部暗装,已经可以使用php composer.phar 代替composer了

//windows全局
#在 PHP 安装目录下新建一个 composer.bat 文件,内容为:
@php "%~dp0composer.phar" %*

#把composer.phar也放在php安装目录下

//linux全局
sudo mv composer.phar /usr/local/bin/composer
#或者一条命令
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

 

镜像配置

设置composer镜像为国内镜像: composer config -g repo.packagist composer https://packagist.phpcomposer.com 
上面地址前几天崩了,可以用下面这个: composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
  composer config -g repo.packagist composer https://packagist.composer-proxy.org (亲测有用)
  composer config -g repo.packagist composer https://p.staticq.com
  composer config -g repo.packagist composer https://packagist.phpcomposer.com
  composer config repo.packagist composer https://packagist.laravel-china.org(报错)

composer clearcache:清理缓存

 

官方命令行:

https://docs.phpcomposer.com/03-cli.html

基本命令:

composer list 显示所有命令

composer show 显示所有包信息

composer install 在 composer.json 配置中添加依赖库之后运行此命令安装

composer create-project laravel/laravel Laravel –prefer-dist “5.1.*” 创建项目

composer search packagename 搜索包

composer update 更新所有包

composer update monolog/monolog 更新指定包

composer remove monolog/monolog 移除指定的包

composer require monolog/monolog 添加指定包

composer require monolog/monolog:1.19 添加指定包和版本

composer require monolog/monolog=1.19

composer require monolog/monolog 1.19

 

常用命令与场景说明:

1、composer list:获取帮助信息;

2、composer init:以交互方式填写composer.json文件信息;

3、composer install:如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;

4、composer update:获取依赖的最新版本,升级composer.lock文件;
  PS:可以指定扩展包 composer update vendor/package

5、composer require:添加新的依赖包到composer.json文件中并执行更新;
  PS:可以指定扩展包的版本 composer require "foo/bar:1.0.0" 这也是安装扩展扩展包的推荐的标准方法!

6、composer search:在当前项目中搜索依赖包;

7、composer show:列举所有可用的资源包;

8、composer validate:检测composer.json文件是否有效;

9、composer self-update:将composer工具更新到最新版本;
  PS:更新 composer 本身,请经常执行 composer selfupdate 以保持 Composer 一直是最新版本。

10、composer create-project:基于composer创建一个新的项目;

11、composer dump-autoload:在添加新的类和目录映射是更新autoloader
    PS:我们更改了 composer.json 文件中的 autoload 时,需要执行 composer dumpautoload,来让 autoload 立即生效。而不必执行 install 或 update 命令。

12、composer remove twbs/bootstrap :删除依赖后还需要去vender文件夹里,手动删除
  PS:这只是删除了依赖关系,不会自动加载,但其依赖包还在vender文件夹里,可手动删除

13、composer config -gl:  查看全局设置

14、composer info: 查看已存在的包(需要在项目composer.json的目录里面使用)

 

问题汇总

1、composer.lock 文件

  里面保存着对每一个代码依赖的版本记录,提交到版本控制器中,并配合composer install 使用,保证了团队所有协作者开发环境、线上生产环境中运行的代码版本的一致性。

2、composer update 命令

  composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息是

"monolog/monolog": "1.*"

  安装的是 monolog 1.1 版本,而一个多月以后的现在,monolog 已经是 1.2 了,运行命令后直接更新到 1.2,这时项目并没有针对 1.2 进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知道。

3、开发和发布composer包

https://www.jianshu.com/p/ecb9df55e003 (发布)

https://blog.csdn.net/m_nanle_xiaobudiu/article/details/104231469 (自动更新)

 

posted @ 2019-12-26 11:49  小匡程序员  阅读(238)  评论(0编辑  收藏  举报