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命令行执行)
[[email protected] ~]$ curl -sS https://getcomposer.org/installer | php


[[email protected] 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 模式符

后记

我大概深入的了解了下,现在基本上能够满足我日常使用,后面碰到问题可以查看下面的参考资料。多个项目间需要共享代码而又不能发布到公共仓库时,可以搭建本地包元数据服务以及包源码下载的代码管理服务,这个应该是可行的,我没有尝试过:(

参考资料
【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

时间: 2024-11-08 12:54:29

PHP包管理工具composer简单总结的相关文章

php 的包管理工具 composer

官方网站 https://getcomposer.org/ 下载地址 https://getcomposer.org/download/

php composer包管理工具

一 . 包管理工具 你在Centos上装工具的时候直接yum -y install xx 比你去rpm -ivh xx.rpm 是不是爽很多呢? composer 就是安装php 代码的一个类似工具. python 有easy_install,pip,nodejs 有npm, 作为一款现在高级语言怎么可以没有自己的包管理工具,composer 就是php包管理中做的较优秀的一款.当然你可以用pear,pear就好像rpm,而composer就是yum. 1 http://www.phpcompo

Python之包管理工具

在Python环境中已经有很多成熟的包,可以通过安装这些包来扩展我们的程序. 例如,很多时候Python开发人员都会去PyPI网站去查找自己想要使用的包,然后进行安装.PyPI ( Python Package Index)是获得第三方 Python 软件包以补充标准库的一个站点. 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_install和pip等等. 突然对Python的包管理凌

有用PHP依赖管理工具Composer新手教程

PHP依赖管理工具Composer新手教程 Composer 是 PHP 的一个依赖管理工具.它同意你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理器. 是的,它涉及 "packages" 和 "libraries",但它在每一个项目的基础上进行管理,在你项目的某个文件夹中(比如 vendor)进行安装. 默认情况下它不会在全局安装不论什么东西.因此,这不过一个依赖管理. 这样的想法并不新奇,Composer 受到

实用PHP依赖管理工具Composer入门教程

PHP依赖管理工具Composer入门教程 Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理器.是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装.默认情况下它不会在全局安装任何东西.因此,这仅仅是一个依赖管理. 这种想法并不新鲜,Composer 受到了 node

Golang学习--包管理工具glide

上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依赖的库. php项目中使用composer,javascript项目中使用npm,那么在go项目中,我们需要使用什么? 包依赖工具的选择 当前go的包管理工具有glide.godep.govendor和gvt等,相关对比的文章可以查看<go依赖包管理工具对比>. 功能对比可以参考如下内容(虽然跟上

Php学习之依赖管理工具composer详解

本文和大家分享的主要是php中依赖管理工具composer相关用法,一起来看看吧,希望对大家学习php有所帮助. 什么是依赖管理工具 当你引用某个第三方库时,如果这个库使用到了另外一个或若干个第三方库,再或许另外一个第三方库又有其他的依赖,这样的话手动维护你需要下载安装N个包.用来解决由此产生的问题的工具就叫做依赖管理工具. 有哪些常见的依赖管理工具 Java的maven.gradle,NodeJs的npm,IOS的CocoaPods,PHP的composer 大部分编程语言都会有自己的常用依赖

[转载]Python 包管理工具解惑

原文链接:http://zengrong.net/post/2169.htm Python 包管理工具解惑 python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑).主要表现在下面几个方面: 这几个包管理工具有什么不同? distutils setuptools distribute disutils2 distlib pip 什么时候该用pip,什么时候该用 setup.py ,它们有关系么? easy_install.ez_setup

Python的包管理工具Pip

接触了Ruby,发现它有个包管理工具RubyGem非常好用,而且有非常完备的文档系统http://rdoc.info 发现Python下也有相同的工具,包含easy_install和Pip.只是,我没有细看easy_install的方法,这就简单的介绍一下Pip的安装与使用: 准备: $ curl -O http://python-distribute.org/distribute_setup.py $ python distribute_setup.py 安装: $ curl -O https