Composer 篇
学习网站
Composer 中文网
资源包 Packagist
Packagist / Composer 中国全量镜像
如何安装 Composer
下载 Composer
安装前请务必确保已经正确安装了PHP。打开命令行窗口并执行php -v查看是否正确输出版本号。
打开命令行并依次执行下列命令安装最新版本的 Composer:
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
执行第一条命令下载下来的composer-setup.php脚本将简单地检测php.ini中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的composer.phar文件到当前目录。
上述 3 条命令的作用依次是:
下载安装脚本 -composer-setup.php- 到当前目录。
执行安装过程。
删除安装脚本。
局部安装
上述下载 Composer 的过程正确执行完毕后,可以将composer.phar文件复制到任意目录(比如项目根目录下),然后通过php composer.phar指令即可使用 Composer 了!
全局安装
全局安装是将 Composer 安装到系统环境变量PATH所包含的路径下面,然后就能够在命令行窗口中直接执行composer命令了。
Mac 或 Linux 系统:
打开命令行窗口并执行如下命令将前面下载的composer.phar文件移动到/usr/local/bin/目录下面:
sudo mv composer.phar /usr/local/bin/composer
Windows 系统:
找到并进入 PHP 的安装目录(和你在命令行中执行的php指令应该是同一套 PHP)。
将composer.phar复制到 PHP 的安装目录下面,也就是和php.exe在同一级目录。
在 PHP 安装目录下新建一个composer.bat文件,并将下列代码保存到此文件中。
@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行composer --version看看是否正确输出版本号。
最后
提示:不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!
Packagist 镜像使用方法
有两种方式启用本镜像服务:
系统全局配置:即将配置信息添加到 Composer 的全局配置文件config.json中。见“方法一”
单个项目配置:将配置信息添加到某个项目的composer.json文件中。见“方法二”
方法一:修改 composer 的全局配置文件(推荐方式)
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
方法二:修改当前项目的composer.json配置文件:
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是composer.json文件所在目录),执行如下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
上述命令将会在当前项目中的composer.json文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
以 laravel 项目的composer.json配置文件为例,执行上述命令后如下所示(注意最后几行):
{
"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.phpcomposer.com"
}
}
}
OK,一切搞定!试一下composer install来体验飞一般的速度吧!
镜像原理:
一般情况下,安装包的数据(主要是 zip 文件)一般是从github.com上下载的,安装包的元数据是从packagist.org上下载的。
然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。
“Packagist 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,从而达到加速composer install以及composer update的过程,并且更加快速、稳定。因此,即使packagist.org、github.com发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。
转载于:https://juejin.im/post/5aa7702f518825556b6c74be
Composer 篇相关推荐
- VMware View 5.0从菜鸟到高手系列 3 -安装View Composer组件篇
在vCenter Server上安装View Composer组件 View Composer具有非常强大的功能,可以为企业快速部署成千上万的虚拟桌面并为企业节省近70%的存储空间. 1. 安装Vie ...
- composer爆错:zlib_decode():data error
昨晚用nginx运行Yii的一个开源小项目,结果composer安装依赖一直报错,如下 Failed to decode response: zlib_decode(): data error 如果遇 ...
- View 5.1 重装上阵(4—基础架构篇)
从底层架构方面来看,VIEW 5.1最大的改进在于引入了Content-Based Read Cache(CBRC) 技术,大大降低了部署桌面虚拟化所带来的IOPS风暴,同时大大降低了对于存储的压力和 ...
- 【完结】利用 Composer 完善自己的 PHP 框架(三)——Redis 缓存
本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 上两篇文章中我们完成了 View 视图加载类和 ...
- composer更新_深入学习Composer原理(四)
本系列第四篇文章,也是最后一篇 首先,我们先看看Composer的源码从哪里看起.当然,请您先准备好源码. composer init或者直接install之后,自动生成了一个vendor目录,这时您 ...
- VMware View 5.0从菜鸟到高手系列 10 –远程图形工作站配置篇
本文档依照PCoIP设备供应商丽台(Leadtek)提供的零客户机VP200P以及PCoI卡VP200H为例,为了介绍整个安装步骤.以下配置在VMware view 4.5中安装,但在更新的版本中如V ...
- Composer入门
2019独角兽企业重金招聘Python工程师标准>>> Java有Maven, Node.js有npm, ROR有gem, 这些语言的程序员在开心地使用包管理工具加速开发效率时,PH ...
- php传值到模板,laravel 实现向公共模板中传值 (view composer)
view composers 与视图有关,用在一个service provider 的boot()函数里,就是让一个view加载的时候,由于view composer的作用,去调用某个函数传个参啊啥的 ...
- Fiddler (三) Composer创建和发送HTTP Request
之前已经写过两篇Fiddler的文章了,分别是[Fiddler教程] [Fiddler script用法]. 我准备把Fiddler写成一个系列. Fiddler的功能还有很多, 很多功能都没有被挖 ...
最新文章
- 人工脑连接体:类脑人工智能的奇点时刻来临
- mysql-sql优化--笔记
- python匹配中文
- JAVA(小技巧--List)
- golang 对象 struct 类型转json
- asp.net mvc kendo Grid Filter
- c++重载、覆盖和隐藏
- opencv 的norm_OpenCV学习笔记(一)之图像金字塔-上采样与降采样与DOG
- VueRouter基础知识记录1
- 5月书讯丨​​《联邦学习》带队,10新书给你全方位的技能提升
- 网上订餐系统开源代码java_基于SSM实现的网上订餐系统【附源码】(毕设)
- 关机一直显示正在关闭服务器,电脑关机后,显示正在关机,但等半天也关不了 怎么办...
- 可用的rtmp卫视直播地址
- 8.MIL中相机标定(Calibration)
- 2021-09-18 Stage/Job cancelled because SparkContext was shut down
- python爬虫----爬取网易云音乐
- ZYNQ Linux 添加I2C-RTC驱动
- 余数的数学定义和性质
- 【转】一位硕士毕业生三个月求职经历与经验的结晶
- UDK 中的委托使用
热门文章
- 提高C++性能的编程技术笔记:多线程内存池+测试代码
- OpenCV中SVM的使用
- 什么场景使用mysql的存储过程_mysql存储过程的使用
- android 编程klinon,android - 您尚未接受以下SDK组件的许可协议
- linux日志idProduct,linux – 机器ID是uuid吗?
- plasma桌面设置好的面板消失了_Ubuntu Studio 将用 KDE Plasma 桌面环境替换 Xfce | Linux 中国...
- yum安装mysql后密码_Centos7:yum安装MySQL5.7后如何设置root密码
- Java项目:仿天猫网上商城项目(java+jsp+servlet+mysql+ajax)
- matlab文件启动位置,matlab中uigetfile()设置默认路径
- python 文案自动生成_Python自动化测试如何自动生成测试用例?