优秀的编程知识分享平台

网站首页 > 技术文章 正文

composer的基本使用(composers)

nanyue 2024-09-14 06:24:18 技术文章 4 ℃

composer.json:项目安装

要开始在你的项目中使用 Composer,你只需要一个 composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。

如:

{ "require": { "monolog/monolog": "1.0.*" }}

包名称+包版本

安装依赖包

获取定义的依赖到你的本地项目,只需要调用 composer.phar 运行 install 命令。

php composer.phar install

如果你进行了全局安装,并且没有 phar 文件在当前目录,请使用下面的命令代替:

composer install

比如上例

将会找到 monolog的最新版本,并将它下载到 vendor/monolog/monolo目录。 这是一个惯例把第三方的代码到一个指定的目录 vendor

小技巧: 如果你正在使用Git来管理你的项目, 你可能要添加 vendor 到你的 .gitignore 文件中。 你不会希望将所有的代码都添加到你的版本库中。

另一件事是 install 命令将创建一个 composer.lock 文件到你项目的根目录中。

composer.lock - 锁文件

在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock 文件。这将锁定改项目的特定版本。

请提交你应用程序的 composer.lock (包括 composer.json)到你的版本库中

这是非常重要的,因为 install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。

这意味着,只要锁文件存在,任何人建立项目都将下载与指定版本完全相同的依赖。从而保证了服务器、生产环境、团队都使用相同的依赖,从而减轻潜在的错误对部署的影响。

当然此时你的依赖会更新许多新的版本。你将不会获得任何更新。此时要更新你的依赖版本请使用 update 命令。这将获取最新匹配的版本(根据你的 composer.json 文件)并将新版本更新进锁文件。

php composer.phar update

如果只想安装或更新一个依赖,你可以白名单它们:

php composer.phar update monolog/monolog [...]

如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件。

Packagist

packagist 是 Composer 的主要资源库。 一个 Composer 的库基本上是一个包的源:记录了可以得到包的地方。Packagist 的目标是成为大家使用库资源的中央存储平台。这意味着你可以 require 那里的任何包。

当你访问 packagist website (packagist.org),你可以浏览和搜索资源包。

最近发表
标签列表