Linux下安装Composer及下载问题

Linux安装 Composer

要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中):

curl -sS https://getcomposer.org/installer | php

全局安装

你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。

你可以执行这些命令让 composer 在你的系统中进行全局调用:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。

注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器:

php -r "readfile('https://getcomposer.org/installer');" | php

这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。

使用Laravel镜像:

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

局部安装

你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):

curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

Windows:

下载安装包安装即可
https://getcomposer.org/download/

查看当前版本

$ composer -V

升级版本

$ composer selfupdate

注意 selfupdate 升级命令会连接官方服务器,速度很慢。建议直接下载我们的 composer.phar 镜像,每天都会更新到最新。

如何使用?

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

中国镜像

阿里云:https://mirrors.aliyun.com/composer/index.html
Laravel:https://laravel-china.org/composer

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

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

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

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

取消配置:

composer config -g --unset repos.packagist

选项二、单独使用

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

$ composer config repo.packagist composer https://packagist.laravel-china.org
$ composer config repo.packagist composer https://mirrors.aliyun.com/composer/

取消配置:

composer config --unset repos.packagist

遇到问题?

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

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

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

常见问题

已存在 composer.lock 文件,先删除,再运行 composer install 重新生成。

原因:composer.lock 缓存了之前的配置信息,从而导致新的镜像配置无效。

使用 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。

缓存多久更新一次?

0时 - 早上7时,这个时间段考虑使用人数不会太频繁,间隔为15分钟
其余时间,间隔为5分钟

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

发布了65 篇原创文章 · 获赞 88 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/uisoul/article/details/89554846