安装使用composer基本流程
composer工作原理:

这里经过几个步骤:
1.composer读取composer.json(这个文件手动建立,官网有格式),这个json是在当前执行composer目录的,如果目录下没有这个json文件,程序可以在安装模块的时候选择自动建立这个文件
{
"require": {
"monolog/monolog": "1.0.*",(多模块个的话需要用到这个逗号)
"monolog/monolog": "1.0.*"
}
}
官方原版的是这样的:
{
"require": {
"monolog/monolog": "1.0.*"
}
}
2.composer通过读取到的json数据去Packagist.org获取各个包的包名、作者、下载URL等信息。下载URL经常是GitHub上面的,因为目录的代码大部分都托管在GitHub上面嘛.
3.将从Packagist.org获取到的元数据存放到当前目录的composer.lock中.
4.composer读取composer.lock中的元数据,根据元数据一次下载包,并且放到当前目录的vender目录里面.
composer有不少常用的命令,比如composer install 、composer update、composer require。这三个命令都是会下载php类库的,composer update 会将步骤1、2、3、4都执行一遍,所以下载的类库是composer.json配置中匹配搭配的最新类库,而composer install,只是执行步骤4。
composer require 会将配置写入composer.json,然后执行步骤1、2、3、4或许你会问,如何知道不同的包他们的配置是怎么写的,这个你就要去Packagist.org了,每个开源项目都会有安装和使用方法的。
我们一般安装使用composer的步骤是:
1.windows操作系统下首先下载安装文件: https://getcomposer.org/Composer-Setup.exe.安装的时候会有个目录的选择,选择你当前使用的php执行文件就行了.安装过程中要修改你的PHP.INI文件,其实就是在里面把php_openssl.dll的功能给打开了而已,安装完毕会提示你重启系统以便让系统环境生效.还有一种更简单的安装方法,就是只下载composer.phar可执行文件,运行这个文件可以实现与运行composer相同的效果,但是这样不会自己修改系统相关文件和环境变量,在这里就不采用这种方法了.
2.系统重启后php运行目录和composer运行目录已经被自动加到系统环境变量当中去了.在dos下运行composer会有版本信息和可执行的指令显示出来,表示安装成功.

3.在项目根目录下新建composer.json文件,如果没有手动建立这个文件的话也可以在安装包的时候由系统自己建立.执行composer生成composer.lock文件.如果安装太慢可以把数据仓库改成国内全镜量的网址,可以提高下载速度.修改方式有两种:
第一种是修改全局参数:
修改前查看当前镜像的方式:composer config -gl。 修改后再查看一下确认是否安装成功。
composer config -g repo.packagist composer https://packagist.phpcomposer.com
第二种是只修改当前项目的配置, 先进入你的项目的根目录(也就是 composer.json 文件所在目录),然后执行如下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
上述操作会在你的composer.json文件最后添加以下内容(你也可以手动添加):
//下面两个红色的大括号是手动建立composer.json文件时手动加的,整个文件的内容为下面的代码就可以正常使用国内的镜像了
{
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}
4.一般只有第一次安装的时候用composer install指令,其它时候都应该用composer require指令,这个指令如果没有指令安装哪个包,系统会有提示让你选择搜索哪个包。千万不要用composer updata指令,这个指令没有指定安装哪个包的话会把你的所有包和相关的依赖文件都更新到新版本,会造成已开发系统的不稳定.composer.json和composer.lock都不要手动修改,需要修改的话用composer require指令修改并执行.例如升级某个模块及其依赖包的版本或者是安装新的扩展包.举个例子如下:


5.如果某个包不使用了需要删除的话,先用composer show 指令查看已安装的包的完整名称,然后用"composer remove 完整包名"来删除这个包,同时会把这个包的相关依赖文件及文件夹一并删除.

各种安装方式的简单解释:
composer install - 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;
composer update - 从 composer.json 安装最新扩展包和依赖;
composer update vendor/package - 从 composer.json 或者对应包的配置,并更新到最新;
composer require new/package - 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5.
备注:如果某个包因版本问题无法安装,确认版本没问题后可以在安装的时候加上参数:--ignore-platform-reqs 忽略版本号安装。
参考文档:
快速入门: https://www.kancloud.cn/huizong/composer/284036
中文文档: https://www.kancloud.cn/thinkphp/composer/35669
官方元数据仓库: https://packagist.org/
中国全量镜像: https://pkg.phpcomposer.com/
正确的 Composer 扩展包安装方法: http://blog.csdn.net/xianglingchuan/article/details/51930960
安装使用composer基本流程的更多相关文章
- 记录archlinux中安装pcl的大致流程
贴一下pcl在github上的网址: https://github.com/PointCloudLibrary/pcl/ 从这个网址出发,一般能找到安装的 tutorial.以下只说一下在archli ...
- centos系统下安装使用composer教程
Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们.Composer 不是一个包管理器.是的,它涉及 "packages" ...
- VMware vSphere 服务器虚拟化之十八桌面虚拟化之安装View Composer服务器
VMware vSphere 服务器虚拟化之十八桌面虚拟化之安装View Composer服务器 View Compose服务可安装在管理虚拟机的vC ...
- CentOS下安装yum源的流程和操作
一般公司都用Linux来搭建服务器,Linux安装软件时能够用yum安装依赖包是一件非常简单而幸福的事情,因为你只需一个简单的安装命令yum install []即可安装相应的软件,yum工具会自动的 ...
- 续安装好composer和workerman之后;TP5运行workerman的操作
TP5想要实现时时通讯:首先先安装好composer和workerman,我之前有写一篇安装的方法,在cmd里面安装:tp5手册上面有写cmd命令的代码:接下来是安装好后如何运行的: 首先在项目中建立 ...
- laravel windows安装(composer)
1.安装composer参考windows 安装tp5 composer方式 2.先配置好本地虚拟域名,在cmd里面切换到网站根目录 ... 3.安装成功之后,在浏览器输入已配置的虚拟域名我的是,la ...
- centOS7下安装laravel + composer
1.wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer chmod a+x /usr/local/bi ...
- Eclipse安装Activiti插件(流程设计器)
Eclipse安装Activiti插件(流程设计器) 一.安装步骤: 1,打开Eclipse的 Help -> Install New Software,填上插件地址: Name:Activit ...
- Laravel安装和composer安装
下载地址:https://getcomposer.org/download/ 他会自动找到你的php目录,如果没有记得手动修改 一直点下一步,即可. 如果安装不成功,可能是之前安装过composer ...
随机推荐
- OpenCV学习笔记之CXCORE篇
转自blog.csdn.net/bbzz2/article/details/50764209
- redis系列之数据库与缓存数据一致性解决方案
redis系列之数据库与缓存数据一致性解决方案 数据库与缓存读写模式策略 写完数据库后是否需要马上更新缓存还是直接删除缓存? (1).如果写数据库的值与更新到缓存值是一样的,不需要经过任何的计算,可以 ...
- IOS UIView圆角,阴影,边框,渐增光泽
圆角 sampleView.layer.cornerRadius = 2.5; // 圓角的弧度sampleView.layer.masksToBounds = YES; 阴影 sampleView. ...
- 洛谷P2414 阿狸的打字机 [NOI2011] AC自动机+树状数组/线段树
正解:AC自动机+树状数组/线段树 解题报告: 传送门! 这道题,首先想到暴力思路还是不难的,首先看到y有那么多个,菜鸡如我还不怎么会可持久化之类的,那就直接排个序什么的然后按顺序做就好,这样听说有7 ...
- 牛客练习赛18E pocky游戏 状压dp
正解:状压dp+辅助dp 解题报告: 来还债辣!NOIp之后还是轻松很多了呢,可以一点点儿落实之前欠下的各种东西一点点提升自己!加油鸭! 是个好题,可以积累套路,启发性强,而且很难 哦而且状压它也是个 ...
- shidebing——QandA:解决一个需求20171214
list1 = [ {'eip': 60, 'day': '2014-7-5'}, {'etans': 96, 'day': '2014-7-5'}, {'etans': 30, 'day': '20 ...
- idong常用js总结
1.判断屏幕高度 $(document).ready(function() { $("#left").height($(window).height()); $(&qu ...
- nodejs加WebSocket,聊天工具
1.WebSocket必须要与服务器连接,所以这里采用node起服务,这里用到了ws,,也有人用nodejs-websocket 2.首先 npm install ws 3.新建一个server.js ...
- Vagrant配置虚拟机
慕课上学习.需要安装 vagrant VirtualBox .box文件和.iso文件一样都是镜像文件.可以在官网下载https://www.vagrantup.com/docs/ 点击boxs之后 ...
- js五星好评2
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...