也许只是个愚蠢的问题。在我从github.com下载/克隆composer源代码后,如何运行它或将其编译成一个phar文件?
运行"php bin/composer -v“时,显示如下错误:
php bin/composer -v
You must set up the project dependencies using `composer install`
See https://getcomposer.org/download/ for instructions on installing Composer是不是说我必须先下载另一个composer.phar文件并运行"php composer.phar install“?
我认为这是一种递归的方式," composer“本身是由composer管理的:(
发布于 2018-05-03 16:11:30
首先:如果有人只想使用composer,他们不能从GitHub安装它,只需遵循安装指南:https://getcomposer.org/download/
好了,回到问题上来。
" composer“本身是由composer管理的
是的,你为什么认为它不好呢?
请参阅official documentation for contributors。它正是这样鼓励的:
要获取依赖项,请运行git clone https://github.com/composer/composer.git
composer.phar:cd composer && php ../composer.phar install然后,您可以通过启动bin/composer来实际使用composer,也可以通过bin/compile将其编译为phar。
如果你想知道composer二进制文件实际上是如何构建的,你可以在他们的Travis config中看到。他们只是抓取Travis提供的以前的composer版本,并用它构建新的composer版本。
发布于 2018-05-03 20:33:01
Composer的工作是定位和安装特定项目的依赖项。它所做的一切都可以手工完成,主要只需将文件放在正确的位置,并引用一系列自动加载器。
为了从头开始构建Composer,您需要主Composer存储库之外的某些代码,例如命令行和日志助手。您可以手动下载所有这些文件,但最自然的方法是使用现有的Composer安装来获取它们。
只有在使用Composer本身时才需要这样做,因为一旦构建成功,就可以生成一个PHAR文件,该文件包含所有必需的代码,包括那些第三方依赖项。这些是作为官方版本分发的文件,也是大多数人需要的文件;该工具甚至有一个self-update命令,可以下载新的PHAR文件并覆盖您运行的文件。
这种自举-使用工具的现有构建作为其自身构建过程的一部分-实际上相当常见。PHP本身的某些部分是使用PHP脚本生成的,我相信第一个功能完整的C++编译器就是用C++编写的。
https://stackoverflow.com/questions/50148141
复制相似问题