阿里发布了开源镜像,阿里云 Composer 全量镜像,而 Laravel China 镜像于 2019-07-01 21:43:57 之后就不再更新了。

安装 composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

推荐镜像

阿里云 Composer 全量镜像

即将关闭

Composer 中文镜像 / Packagist 中国全量镜像正式发布!

如何使用?

请尽可能用比较新的 Composer 版本。

使用 Composer 镜像加速有两种选项:

  • 选项一:全局配置,这样所有项目都能惠及(推荐);
  • 选项二:单独项目配置;

选项一、全局配置(推荐)

$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

选项二、单独使用

如果仅限当前工程使用镜像,去掉 -g 即可,如下:

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

取消镜像

composer config -g --unset repos.packagist
composer config --unset repos.packagist

遇到问题?

composer 命令后面加上 -vvv (是3个v)可以打印出调错信息,命令如下:

$ composer -vvv create-project laravel/laravel blog
$ composer -vvv require psr/log

如果自己解决不了,或发现 BUG,可以在 @扣丁禅师 的 GitHub 上 创建 Issue

注意提问时请带上 -vvv 的输出,并且要求叙述清晰,第一次提问的同学请阅读 关于提问的智慧

常见问题

  1. 已存在 composer.lock 文件,先删除,再运行 composer install 重新生成。
    原因:composer.lock 缓存了之前的配置信息,从而导致新的镜像配置无效。
  2. 使用 laravel new 命令创建工程, 这个命令会从 这里 下一个zip包,里面自带了 composer.lock,和上面原因一样,也无法使用镜像加速,解决方法:

    • 方法一(推荐):不使用 laravel new,直接用 composer create-project laravel/laravel xxx 新建工程。
    • 方法二:运行 laravel new xxx,当看见屏幕出现 - Installing doctrine/inflector 时,Ctrl + C 终止命令,cd xxx 进入,删除 composer.lock,再运行 composer install。
  3. 缓存多久更新一次?
  4. 0时 - 早上7时,这个时间段考虑使用人数不会太频繁,间隔为15分钟
  5. 其余时间,间隔为5分钟

正常更新速度可在1分内完成 ,但更新太快,会降低CDN命中率,如果总有新文件让CDN去缓存,反而拖慢了速度,所以故意加了些延迟。我们每次采集中还会删减掉数千个僵尸包,以加快传输速度。

安装 Composer

Linux/Mac:

wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer
chmod a+x /usr/local/bin/composer

如遇权限不足,可添加 sudo。

Windows:

  1. 直接下载 composer.phar,地址:https://dl.laravel-china.org/composer.phar
  2. 把下载的 composer.phar 放到 PHP 安装目录
  3. 新建 composer.bat, 添加如下内容,并保存:

    @php "%~dp0composer.phar" %*

    查看当前版本

    $ composer -V

    升级版本

    $ composer selfupdate
    注意 selfupdate 升级命令会连接官方服务器,速度很慢。建议直接下载我们的 composer.phar 镜像,每天都会更新到最新。
    重建 autoload
    $ composer dump-autoload
    $ composer dumpautoload
    该过程能重建 autoload 文件,通常在找不到新建的类或命名空间的时候使用

评论已关闭