作曲家本身是由作曲家管理的?

时间:2018-05-03 06:17:59

标签: php composer-php

也许只是一个愚蠢的问题。 从github.com下载/克隆作曲家源代码后,如何运行它或将其编译成phar文件?

运行" php bin / composer -v"时,会显示以下错误:

In [30]: df[df.mean().drop_duplicates().index]
Out[30]:
   A  B
0  1  2
1  0  2
2  3  2

是否说我必须下载另一个composer.phar文件并运行" php composer.phar install"第一λ

我认为这是一种递归的方式,"作曲家"本身由作曲家管理:(

2 个答案:

答案 0 :(得分:4)

首先:如果有人只想使用编写器,则不能从GitHub安装它,只需按照安装指南进行操作:https://getcomposer.org/download/

好的,回到问题。

  

"作曲家"本身由作曲家管理

是的,为什么你认为这很糟糕?

请参阅official documentation for contributors。它鼓励这样做:

  
      
  1. 运行git clone https://github.com/composer/composer.git
  2.   
  3. 下载composer.phar可执行文件
  4.   
  5. 运行Composer以获取依赖项:cd composer && php ../composer.phar install
  6.   

然后你可以通过启动bin/composer来实际使用composer,或者你可以通过bin/compile将它编译成phar。

如果您想知道作曲家二进制文件是如何构建的,您可以在Travis config中看到它。他们只是抓住Travis提供的以前的作曲家版本,并用它构建新的作曲家版本。

答案 1 :(得分:2)

Composer的工作是找到并安装特定项目的依赖项。它所做的一切都可以手工完成,主要是将文件放在正确的位置,并引用一系列自动加载器。

为了从头开始构建Composer,您需要在Composer主存储库之外的某些代码,例如命令行和日志记录助手。您可以手动下载所有这些,但自然的方法是使用现有的Composer安装来获取它们。

只有在使用Composer本身时才需要这样做,因为一旦成功构建,就可以生成一个PHAR文件,其中包含所有必需的代码,包括那些第三方依赖项。这些是作为正式版本分发的文件,并且是大多数人所需要的;该工具甚至有一个self-update命令,可以下载一个新的PHAR文件并覆盖你运行的文件。

这种引导 - 使用现有的工具构建作为其自身构建过程的一部分 - 实际上非常常见。 PHP本身的某些部分是使用PHP脚本生成的,我相信第一个功能完备的C ++编译器是用C ++编写的。