PHP包管理工具composer简单总结
前言
接触laravel之后,才知道有PSR,composer之类的东西,PHP已经不再是一门草根语言了。最近在尝试玩thrift,需要安装PHP thrift依赖库,使用composer install apache/thrift会提示composer.json文件不存在,这个文件确实不存在,难道就不能安装了吗?后来发现可以通过composer require apache/thrift安装,这个命令会尝试创建composer.json配置文件。通过这件事情,发现对composer还是不是很了解,于是花了点时间详细了解,于是使用自己的语言编织了这篇文章。
实现原理
获取包元信息,项目源码地址库下载包以及依赖的包,安装到本地
安装
composer需要PHP5.3.2+版本以及需要开启phar扩展
composer是由PHP编写以及使用PHP phar打包压缩的一个linux shell环境下可执行的文件(phar格式文件可以通过PHP命令行执行)
[wadeyu@localhost ~]$ curl -sS https://getcomposer.org/installer | php
[root@localhost wadeyu]# mv composer.phar /usr/local/bin/composer
配置
设置镜像地址(中国的镜像地址 -g参数表示全局配置)
composer config -g repo.packagist composer https://packagist.phpcomposer.com
设置进程执行超时时间(单位秒)
composer config -g process-timeout 600
查看配置列表
composer config -g -l
配置文件说明
项目根目录下命名为composer.json的文件,使用JSON格式定义项目或者包相关的信息
使用
composer命令自动更新(有时候更新不了:()
composer self-update
声明依赖包(当前执行目录不存在composer.json会尝试创建)
composer require 包名
安装包(composer.json声明需要安装的依赖包)
composer install
更新包
composer update [包名1 包名2 ...]
搜索包(没有composer.json配置文件会执行远程搜索速度会比较慢:()
composer search 模式符
显示命令列表
composer list
更新autoload自动加载配置
composer.json添加autoload配置
composer dump-autoload
后记
我大概深入的了解了下,现在基本上能够满足我日常使用,后面碰到问题可以查看下面的参考资料。多个项目间需要共享代码而又不能发布到公共仓库时,可以搭建本地包元数据服务以及包源码下载的代码管理服务,这个应该是可行的,我没有尝试过:(
参考资料
【1】composer中文网
http://www.phpcomposer.com/
【2】composer工具手动下载地址
https://getcomposer.org/download/
【3】Packagist/Composer中国全量镜像
http://pkg.phpcomposer.com/
【4】composer.json配置详细说明
http://docs.phpcomposer.com/04-schema.html
【5】composer基本用法
http://docs.phpcomposer.com/01-basic-usage.html
PHP包管理工具composer简单总结的更多相关文章
- c++ cmake及包管理工具conan简单入门
cmake是一个跨平台的c/c++工程管理工具,可以通过cmake轻松管理我们的项目 conan是一个包管理工具,能够自动帮助我们下载及管理依赖,可以配合cmake使用 这是一个入门教程,想深入了解的 ...
- php 的包管理工具 composer
官方网站 https://getcomposer.org/ 下载地址 https://getcomposer.org/download/ 安装教程 https://laravist.com/serie ...
- PHP包管理工具composer
环境: centos7 一.linux上安装composer 前提:已安装了php 1. 下载composer安装包 php -r "copy('https://install.phpco ...
- php composer包管理工具
一 . 包管理工具 你在Centos上装工具的时候直接yum -y install xx 比你去rpm -ivh xx.rpm 是不是爽很多呢? composer 就是安装php 代码的一个类似工具. ...
- Node包管理工具
Node包管理工具 只是简单的介绍一些工具的使用,有利于开发过程.除了介绍Node包管理工具,还介绍了前端打包工具,前端模块管理工具 Node包管理工具: --npm --cnpm ...
- Golang学习--包管理工具glide
上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依 ...
- Go语言包管理工具dep
什么是dep? dep和go,在一定程度上相当于maven之于Java,composer之于PHP,dep是go语言官方的一个包管理工具. 相比较go get而言,dep可以直接给引入的第三方包一个专 ...
- 有用PHP依赖管理工具Composer新手教程
PHP依赖管理工具Composer新手教程 Composer 是 PHP 的一个依赖管理工具.它同意你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理 ...
- glide包管理工具
上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依 ...
随机推荐
- Treap(模板)
人生第一次平衡树,Treap板子 #include<iostream> #include<cstdio> #include<cstring> #include< ...
- H5 触摸事件
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
- ACM_堆箱子咯(栈)
堆箱子咯 Time Limit: 2000/1000ms (Java/Others) Problem Description: 双十一大家都在买买买,可忙坏了快递小哥了.zl和皮卡鸡在大伙在剁手的时候 ...
- C/C++ Python的函数默认参数
发现C/C++ Python的函数可以使用默认参数,来减少传参时候的参数个数. 但是:这样的默认参数最好是不变对象! #include <stdio.h> #include <st ...
- System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) .
今天使用sql server 2008 R2管理器,进行SQL查询时,频率非常高的报错: System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误. ...
- MVC系列学习(七)-模板页
1.新建一个MVC项目,选择基本 2.查看文件 看到VS为我们生成了一些东西 布局页面,Layout 指定了模板页 3.开始实例 首先控制器中的代码如下: 视图中代码如下: 1.在/Views/_Vi ...
- Kotlin实例----android5.0新特性之palette
一.Palette的使用 使用Palette可以让我们从一张图片中拾取颜色,将拾取到的颜色赋予ActionBar,StatusBar以及UI背景色可以让界面色调实现统一或者加载不同图片时同步变化色调 ...
- JQuery文档加载完成执行js的几种方法
js中文档加载完毕.一般在body加一个onload事件或者window.onload = function () {} jQuery中有好多写法,平时也不注意,别人一问,还真觉得头大. 下面是我整理 ...
- Centos6.7安装Cacti教程
Centos6.7安装Cacti教程# link:http://docs.cacti.net/plugins/ blog地址:http://www.cnblogs.com/caoguo 一.基本环境安 ...
- c++ list双向链表管理对象
#cat list.cc #include <cstdlib> #include <iostream> #include <stdio.h> using names ...