Composer 镜像原理 (1) —— 初识 Composer

简介: Composer 是一个 PHP 的依赖管理工具,它可以帮助开发者轻松地管理和维护 PHP 项目中的依赖关系。你是否好奇过它的镜像仓库是怎么实现的?本文为你揭晓。

相关文章

何为 Composer

Composer 是 PHP 的依赖管理工具, 你可以在项目的 composer.json 文件中声明所依赖的组件, 它将自动为你安装.

安装 Composer

参考链接

命令行窗口下执行 php -v 检查是否已经正确安装 PHP, 如果没有安装, 安装它, 再把路径加到环境变量 PATH 中.

装完 PHP 再依次执行一下3条命令:

# 下载安装脚本 composer-setup.php 到当前目录
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

# 安装
php composer-setup.php

# 删除安装脚本
php -r "unlink('composer-setup.php');"

一般来说, Composer 我们使用全局安装, 其实就是放到环境变量 PATH 里面, 根据系统执行下面的步骤:

Windows

  1. 进入 PHP 的安装目录 (即 php.exe 所在位置);
  2. 复制 composer.phar 到上述目录;
  3. 新建 composer.bat 文件, 并将下列代码保存到该文件:
@php "%~dp0composer.phar" %*

Linux / Mac

只需移动或者复制 composer.phar 到目录 /usr/local/bin/ 即可, 即:

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

全局安装后, 执行以下命令, 如果输出了版本号, 说明 Composer 已经安装成功:

composer --version

配置 Composer 镜像

注意: 目前中国镜像已经失效, 请使用 Laravel China 社区提供的镜像服务.

中国镜像(已失效)

Laravel China 镜像服务

~~Composer 镜像我使用的是中国镜像, 因为速度快, 也非常稳定. ~~镜像的配置分为 全局项目 两种:

全局配置 (推荐)

# 已失效
# composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer config -g repo.packagist composer https://packagist.laravel-china.org

项目配置

composer.json 所在目录, 执行以下命令:

# 已失效
# composer config repo.packagist composer https://packagist.phpcomposer.com
composer config  repo.packagist composer https://packagist.laravel-china.org

此时, composer.json 会多了 repositories 字段 (以 laravel 为例):

{
   
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
   
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*"
    },
    "config": {
   
        "preferred-install": "dist"
    },
    "repositories": {
   
        "packagist": {
   
            "type": "composer",
            "url": "https://packagist.laravel-china.org"
        }
    }
}

OK, 镜像配置完成, 执行下面的命令, 体验飞一般的速度!

composer install

至于为什么变快了, 我会在后续的文章中解释.

相关文章


文章来源于本人博客,发布于 2017-12-05,原文链接:https://imlht.com/archives/64/

目录
相关文章
|
缓存 Android开发
Android Studio中如何清理gradle缓存
Android Studio中如何清理gradle缓存
|
安全 机器人 Python
python之钉钉机器人自动发消息——傻瓜式教程
自动化跑完的结果,需要自动发送到钉钉群,自动将数据、报告、截图等保存至公司内部服务器,钉钉通知的时候,需要有个链接,点击就可以跳转。
4527 0
python之钉钉机器人自动发消息——傻瓜式教程
|
11月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
1432 62
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
存储 负载均衡 Java
SpringCloud框架
本文介绍了微服务架构中常用的技术组件与原理,包括Nacos与Eureka的服务注册与发现机制、Nacos的分级存储模型、OpenFeign的远程调用流程、Ribbon与Spring LoadBalancer的负载均衡策略、Hystrix与Sentinel的限流熔断机制、滑动窗口算法原理,以及Spring Cloud Gateway的路由断言与过滤器功能,全面覆盖微服务核心治理能力。
|
机器学习/深度学习 人工智能 并行计算
YOLOv11改进策略【YOLO和Mamba】| MLLA:Mamba-Like Linear Attention,融合Mamba设计优势的注意力机制
YOLOv11改进策略【YOLO和Mamba】| MLLA:Mamba-Like Linear Attention,融合Mamba设计优势的注意力机制
1057 9
|
数据采集 数据可视化 前端开发
怎么通过API获取电竞赛事实时数据
选择合适的电竞数据API是开发电竞应用的关键。主流API包括OP.GG、Liquipedia、Stratz、Riot Games和熊猫比分,涵盖LOL、DOTA2等游戏的实时数据。注册并获取API密钥后,需仔细阅读文档,了解资源、请求方法、必需参数及响应格式。编写代码调用API时,注意优化请求频率,避免封禁。最后,通过Web界面或可视化工具展示数据,如React/D3.js、Tableau等。示例代码展示了如何使用熊猫比分API获取即将开始的比赛信息。
|
Linux
Linux下rz/sz安装及使用方法 (不需要借助ftp传输工具)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/81606337   一、工具说明       在SecureCRT这样的ssh登录软件里, 通过在Linux界面里输入rz/sz命令来上传/下载文件. 对于某些linux版本, rz/sz默认没有安装所以需要手工安装。
2832 0
阿里云香港主机要备案吗-阿里云香港服务器要备案吗-阿里云香港服务器主机价格
阿里云香港服务器需要备案吗? 阿里云香港服务器及主机不需要备案。阿里云香港及阿里云国外节点都不需要备案。 阿里云香港服务器和阿里云香港主机的区别: 阿里云服务器,就相当于一台网上电脑,和我们操作本地电脑是一样的。
18824 0
|
应用服务中间件 nginx 开发者
nginx基本数据结构 - ngx_queue_t使用举例
`ngx_queue_t`为Nginx提供了简单而强大的双向链表操作功能。其接口简洁,使用方便,适用于各种需要快速插入和删除元素的场景。在高并发的Nginx模块和其他代码中,`ngx_queue_t`提供了一种高效组织和管理数据的方法。通过对队列的高效操作,开发者可以极大地提升应用程序性能和稳定性,更好地处理并发数据流。
312 1