如何安装composer及使用注意事项

  • 聚客宝
  • 2021-08-06 14:51:39


Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。


1、下载安装脚本 - composer-setup.php - 到当前目录。


php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"


2、执行 composer-setup.php 脚本将简单地检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar 文件到当前目录。


php composer-setup.php


3、删除安装脚本


php -r "unlink('composer-setup.php');"


4、全局安装


(1)windows系统



找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。

将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。

在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。


@php "%~dp0composer.phar" %*


(2)Linux系统


打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:

sudo mv composer.phar /usr/local/bin/composer


5、局部安装


上述下载 Composer 的过程正确执行完毕后,可以将 composer.phar 文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar 指令即可使用 Composer 了!


6、测试


composer --version 

看看是否正确输出版本号


7、升级


Composer 升级时是无法利用我们的镜像加速下载的,而必须连接到 Composer 国外官网的服务器上下载升级文件,某些时候就会导致升级的速度非常慢甚至失败。


这里提供一个简单的办法:


如果你的系统中已经有可以正常使用的 Composer 了,说明系统环境是符合要求的,那么只需要下载新的 Composer 文件并覆盖原来的文件即可。


首先你要确定现有的 Composer 的安装目录,然后通过下面的链接下载 composer.phar 文件(复制以下地址到浏览器地址栏可直接下载),


https://install.phpcomposer.com/composer.phar


将前面下载的 composer.phar 文件覆盖系统中已经安装的 composer.phar 文件即可。注意,有可能在安装时将 composer.phar 改名为 composer 了,注意用同样的名字覆盖即可。


8、更换源


composer config -g repo.packagist composer https://packagist.phpcomposer.com


9、composer 安装插件报错 Content-Length mismatch解决办法


PS E:\inetpub-demo\php\slim> composer require slim/slim "^3.0"


  [Composer\Downloader\TransportException]

  Content-Length mismatch, received 386635 bytes out of the expected 1508803


require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--] [<packages>]...


当我使用composer 给项目安装依赖的时候,报错Content-Length mismatch, received 15988 bytes out of the等等信息。

查看一下当前项目的composer镜像

composer config -l


发现使用的是中国镜像,这个镜像是有问题的,所以要更换镜像


这边需要注意的是,更换镜像不要进行全局更换的命令,而是要针对这个项目去更换镜像

所以,我们在这个项目的根目录下也就是composer.json的路径下

针对这个项目,进行更换镜像,使用阿里云镜像!

composer config repo.packagist composer https://mirrors.aliyun.com/composer/

之后再安装依赖,就发现安装成功了


10、composer组件更新问题


更新组件可以使用 composer update,更新组件可能造成某些现有的程序无法运行,使用需要慎重。如果使用update后,想退回原来的组件,重新安装单一组件,而不至于同时引起其他组件的更新,需要清理缓存,否则还会出现更新情况。


(1)清理缓存

composer clear-cache

(2)安装单一组件

composer require [你的类库]


//=========================================================================

实操文档


PS E:\inetpub-demo\php\slim> php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"


PS E:\inetpub-demo\php\slim> php composer-setup.php

All settings correct for using Composer

Downloading...


Composer (version 1.9.1) successfully installed to: E:\inetpub-demo\php\slim\composer.phar

Use it: php composer.phar


PS E:\inetpub-demo\php\slim> php -r "unlink('composer-setup.php');"


PS E:\inetpub-demo\php\slim> composer --version

Composer version 1.9.1 2019-11-01 17:20:17