composer的安装以及使用

这个是作为php程序员的一个最基本的技能,以前陆陆续续也安装过,但是每次但是安装完之后自己做一些调试或者学习一下框架的源代码就丢到电脑的某个文件夹里,过一段时间看到这个文件夹,会想一下这个文件夹是干啥的,想不起来,算了那就删掉吧。就这样学了丢,丢了学,今天就彻底总结一下所有的安装步骤,以后做调试,看源代码就不删了,学会的地方写注释。多多总结,就不会猴子搬苞米了。

***--start-- ***

第一步安装composer

安装composer的一些注意要点:

  • Composer 默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。
  • Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 openssl 模块。
  • Composer 可运行在 Windows 、 Linux 以及 OSX 平台上。
  • 需要在windows里面给php配置你的全局变量(以下详细图文介绍)
    Wondows 平台上,我们只需要下载 Composer-Setup.exe 后,一步步安装即可。

安装开始:
1.配置以下php的全局变量,因为安装composer的必须指定php.exe的路径
这个是我本地php版本以及php.exe路径


image.png

需要注意的是你需要开启 openssl 配置,我们打开 php 目录下的 php.ini,将 extension=php_openssl.dll 前面的分号去掉就可以了。

2.双击你刚才下载的composer-setup.exe 一步步下去就行了


image.png

(这个地方配置了php.exe的全局变量composer会自动选择到对应的目录)如果没有自动选择也可以手动选择到你本地对应的php.exe所在的路径

3.往后有一部提示你设置代理,那个什么也不要选择,直接下一步,到最后会有一些警告,大概意思是你的php版本兼容什么的问题,这个提示也不用管,直接按就行

安装成功后,我们可以通过命令窗口(cmd) 输入 composer --version 命令来查看是否安装成功:

image.png

接下来我们可以更改阿里云 Composer 全量镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

在使用composer遇到的问题

参考这几个步骤:

  • 建议先将Composer版本升级到最新:
    composer self-update
  • 执行诊断命令:
    composer diagnose
  • 清除缓存
    composer clear
  • 若项目之前已通过其他源安装,则需要更新 composer.lock 文件,执行命令:
    composer update --lock

Composer 的使用

要使用 Composer,我们需要先在项目的目录下创建一个 composer.json 文件,文件描述了项目的依赖关系。

文件格式如下:

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

以上文件说明我们需要下载从 1.2 开始的任何版本的 monolog。

接下来只要运行以下命令即可安装依赖包:
composer install

require 命令

除了使用 install 命令外,我们也可以使用 require 命令快速的安装一个依赖而不需要手动在 composer.json 里添加依赖信息:
composer require monolog/monolog
Composer 会先找到合适的版本,然后更新composer.json文件,在 require 那添加 monolog/monolog 包的相关信息,再把相关的依赖下载下来进行安装,最后更新 composer.lock 文件并生成 php 的自动加载文件。

update 命令

update 命令用于更新项目里所有的包,或者指定的某些包:

  • 更新所有依赖
    composer update

  • 更新指定的包
    composer update monolog/monolog

  • 更新指定的多个包
    composer update monolog/monolog symfony/dependency-injection

  • 还可以通过通配符匹配包
    composer update monolog/monolog symfony/*

需要注意的时,包能升级的版本会受到版本约束的约束,包不会升级到超出约束的版本的范围。例如如果 composer.json 里包的版本约束为 ^1.10,而最新版本为 2.0。那么 update 命令是不能把包升级到 2.0 版本的,只能最高升级到 1.x 版本。关于版本约束请看后面的介绍。

remove 命令

remove 命令用于移除一个包及其依赖(在依赖没有被其他包使用的情况下),如果依赖被其他包使用,则无法移除:

composer remove monolog/monolog
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 0 updates, 2 removals
  - Removing psr/log (1.0.2)
  - Removing monolog/monolog (1.23.0)
Generating autoload files

search 命令

search 命令可以搜索包:
composer search monolog

该命令会输出包及其描述信息,如果只想输出包名可以使用 --only-name 参数:

composer search --only-name monolog

小结:
  • 就写到这里吧安装laravel和yii2的步骤和方法重新再新建一遍文章吧

  • 还有又一次面试的时候一个面试官问了一个问题composer.jsoncomposer.lock两个文件的区别是什么?
    简单解释:

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

composer update - 从 composer.json 安装最新扩展包和依赖;

composer update vendor/package - 从 composer.json 或者对应包的配置,并更新到最新;

composer require new/package - 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5.
  • 当一个项目需要多人合作的时候,为了让所有人都使用与您正在使用的完全相同的依赖项。因此,为了保证这一点,Composer官方是建议把composer.lock提交到git上。

  • 每当去更新依赖的时候,都是基于composer.lock,去更新的。composer.lock文件阻止您自动获取最新版本的依赖项。

  • 所有依赖要更新到最新版本,请使用composer update命令,但一般不要使用update命令,因为update命令将更新所有的依赖到最新,这个动作是危险的,这样很有可能导致,最新类库和你以前写的东西冲突,你以前的代码不可用。

你可能感兴趣的:(composer的安装以及使用)