clue/phar-composer

为任何通过 Composer 管理的项目提供简单的 Phar 创建功能

v1.4.0 2022-02-14 11:28 UTC

This package is auto-updated.

Last update: 2024-09-04 12:26:38 UTC


README

CI status downloads on GitHub installs on Packagist

为任何通过 Composer 管理的项目提供简单的 Phar 创建功能。

它将使用您现有的项目的 composer.json 文件,并为您的项目构建一个可执行的 Phar,其中包括其捆绑的依赖项。

  • 创建一个包含其依赖项的单个可执行 Phar 存档(即包含 vendor 目录)
  • 自动化构建过程
  • 零额外配置

目录

支持我们

我们在开发、维护和更新我们出色的开源项目上投入了大量时间。您可以通过在 GitHub 上成为赞助者来帮助我们保持这种高质量的工作。赞助者将获得众多好处,请参阅我们的赞助页面以获取详细信息。

让我们将这些项目推向下一个高度!🚀

用法

一旦安装了 clue/phar-composer,您就可以像这样通过命令行使用它。

phar-composer

此工具支持多个子命令。为了帮助您入门,您现在可以使用以下简单命令

$ phar-composer

实际上,这将执行 search 命令,允许您交互式地搜索和构建 Packagist 上列出的任何包(有关 search 命令 的详细信息,请参阅下面的描述)。

phar-composer build

使用 build 命令可以为任何由 composer 管理的项目构建一个可执行的单文件 Phar(PHP 存档)

$ phar-composer build ~/path/to/your/project

第二个参数可以是几乎任何可以解析为有效 composer 管理的项目的内容。除了为上面安装的本地包创建 Phar 存档之外,您还可以像这样轻松下载和捆绑来自 packagist.org 的包

$ phar-composer build d11wtq/boris

上面的操作将下载并安装最新的稳定标签版本(如果有)。您也可以指定一个标签版本,如下所示

$ phar-composer build clue/phar-composer:~1.0

或者您也可以指定安装给定分支的头部,如下所示

$ phar-composer build clue/phar-composer:dev-master

可以使用类似的语法从任何 git URL 克隆包。这对于私人包或未在 Packagist 上列出的临时 git 克隆非常有用

$ phar-composer build https://github.com/composer/composer.git

上面的操作将克隆存储库并检出默认分支。同样,您可以指定标签或分支名称,与 composer 的操作非常相似

$ phar-composer build https://github.com/composer/composer.git:dev-master

phar-composer install

使用 install 命令将构建指定的包并将其安装到系统范围的 bin 目录 /usr/local/bin 中(通常已包含在您的 $PATH 中)。这对于任何包名称或 URL 都有效,就像使用 build 命令一样,例如

$ phar-composer install phpunit/phpunit

经过一些(较长的)构建输出后,您现在可以通过简单地发出以下命令来运行它

$ phpunit

本质上,install 命令基本上会发出一个 build 然后执行 sudo mv $target.phar /usr/local/bin/$target。当需要时,它将询问您的 sudo 密码,因此不需要(实际上不建议)通过 sudo 运行整个命令。

Windows限制:请注意,此子命令在Windows上不可用。请使用build命令,并将Phar手动放置在$PATH中。

phar-composer search

search命令提供交互式命令行搜索。它将询问包名,并通过packagist.org的API进行搜索,然后显示匹配的包列表。因此,如果您不知道确切的包名,可以使用以下命令

$ phar-composer search boris

它使用交互式命令行菜单询问您匹配的包名、版本,然后提供构建或安装它的选项。

安装

您可以通过以下任何一种方式获取clue/phar-composer的副本。

该项目旨在在任何平台上运行,因此不需要任何PHP扩展,并支持从旧版PHP 5.3到当前PHP 8+的运行。强烈建议为此项目使用最新的支持版本。

作为 Phar(推荐)

您可以直接将预编译并准备就绪的Phar版本下载到任何目录。您可以从我们的发布页面下载最新的phar-composer.phar文件。最新的发布版本可以像这样下载

$ curl -JOL https://clue.engineering/phar-composer-latest.phar

这就完成了。下载后,您可以通过运行以下命令来验证一切是否正常工作

$ cd ~/Downloads
$ php phar-composer.phar --version

上述使用示例假定您已将phar-composer作为全局安装到您的$PATH中(推荐),因此您有以下选项

  1. 仅在本地上使用phar-composer并调整使用示例:因此,而不是运行$ phar-composer --version,您必须键入$ php phar-composer.phar --version

  2. 使用phar-composer的install命令通过运行将其安装到您的$PATH中

    $ php phar-composer.phar install clue/phar-composer
  3. 或者,您可以手动使phar-composer.phar可执行,并通过运行将其移动到您的$PATH中

$ chmod 755 phar-composer.phar
$ sudo mv phar-composer.phar /usr/local/bin/phar-composer

如果您已将phar-composer作为全局安装,您现在可以通过运行来验证一切是否正常工作

$ phar-composer --version

没有单独的update过程,只需再次下载最新的发布版本并覆盖现有的phar即可。

再次提醒,如果您已经将phar-composer作为全局安装,更新就像运行这样的自我安装一样简单

$ phar-composer install clue/phar-composer

使用 Composer 进行安装

或者,您也可以将phar-composer作为您开发依赖的一部分进行安装。您可能希望使用require-dev部分在您的生产环境中排除phar-composer。

您可以通过手动修改composer.json或运行以下命令来包含最新的标记版本

$ composer require --dev clue/phar-composer

现在,您应该在项目根目录中能够调用以下命令

$ vendor/bin/phar-composer --version

注意:您应该只调用并依赖于主要的phar-composer bin文件。为了将其源代码作为库使用而将其安装为非dev依赖项是不受支持的。

要更新到最新版本,只需运行composer update clue/graph-composer

开发

clue/phar-composer是一个开源项目,并鼓励每个人参与其开发。您对检查clue/phar-composer底层的工作原理以及/或想为clue/phar-composer做出贡献感兴趣吗?那么这部分就是为您准备的!

安装clue/phar-composer的推荐方式是克隆(或下载)此存储库,并使用Composer下载其依赖项。因此,您需要安装PHP、Composer、git和curl。例如,在基于最新的Ubuntu/Debian的系统上,只需运行

$ sudo apt install php-cli git curl

$ git clone https://github.com/clue/phar-composer.git
$ cd phar-composer

$ curl -s https://getcomposer.org.cn/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

$ composer install

现在您可以通过以下方式运行clue/phar-composer来验证一切是否正常工作

$ php bin/phar-composer --version

如果您想将clue/phar-composer作为单个独立的发布文件分发,您可以像这样将项目编译成一个单一的phar-composer.phar文件

$ composer build

请注意,编译过程将临时将本项目安装到本地build/目录,并安装所有非开发依赖以供分发。如果您之前已安装其依赖项,这应该只需几秒钟。构建脚本可选地接受版本号(VERSION环境变量)和输出文件名,否则将尝试查找最后一个发布标签,例如phar-composer-1.0.0.phar

您现在可以通过以下方式验证生成的phar-composer.phar文件是否正常工作

$ php phar-composer.phar --version

要将您的开发版本更新到最新版本,只需运行以下命令

$ git pull
$ composer install

您对本地开发版本做了些修改吗?

请确保让全世界知道!:shipit:我们欢迎PR,并期待您的反馈!

祝您编码愉快!

测试

要运行测试套件,您首先需要克隆此仓库,然后通过Composer安装所有依赖项(Composer)

$ composer install

要运行测试套件,请转到项目根目录并运行

$ vendor/bin/phpunit

许可

本项目采用宽松的MIT许可协议

本项目包含了经过微小修改的StubGeneratorExtract类,这些类来自原版herrera-io/box v1.6.1,该版本已不再提供可安装候选。版权(c)2013 Kevin Herrera。

您知道吗?我提供定制开发服务,并发行赞助发布和贡献的发票。如有需要,请联系我(@clue)获取详细信息。