我在哪里放composer.json

时间:2014-03-03 19:29:53

标签: php composer-php

我已经安装了作曲家。

我的项目目录树看起来像这样

/home/myproject/public_html/myproject.com

我最初安装在:

/home/myproject/public_html/myproject.com/bin/composer/

但后来把它移到了:

/home/myproject/usr/local/bin/composer

问题:

  1. 我在哪里创建composer.json?
  2. 在官方文档中,他们提到为了安装新软件包,我需要在该文件中以json格式编写一个require密钥,这是否意味着我不必通过ftp上传软件包?
  3. 文档进一步说我可以简单地安装像:

    这样的依赖项

    php composer.phar install

  4. 我不理解这个过程的工作流程(我相当新)。我需要做些什么才能让一些软件包继续运行(如Respect

2 个答案:

答案 0 :(得分:11)

Composer有两个基本要素供您考虑:

  1. composer.php文件本身 - 可以位于系统的任何位置 - 通常可以方便地将它放在搜索路径中,这样就可以从命令行按名称(无路径)调用它。 / p>

  2. Composer.json - 此文件是项目的配置。这通常最好位于项目的顶层。理想情况下,这是一个超出Web服务器范围的目录 - 因此永远不会公开或提供它。

  3. Symfony2有一些很棒的文档和正在使用的作曲家的例子。

    另请注意,您通过编辑器引用的某些软件包本身会包含作曲家文件 - 以确保它们符合您所需的依赖性 - 并且他们也可能有自己需要考虑的依赖项。

    我会在下面的

    中安装composer.json
    /home/myproject/composer.json
    

    它将超出Web服务器的范围,可用于管理许多资产,例如。

      public_html/
      libs/
      config/
      docs/
      vendor/
    

答案 1 :(得分:2)

  

我在哪里创建composer.json?

您应该像composer.json一样为项目根创建/home/myproject/public_html/myproject.com/composer.json。如果您的应用程序的所有文件都位于myproject.com文件夹中。

  

在官方文档中,他们提到了为了安装新的   我需要以json格式编写一个require键   文件,这是否意味着我不必通过上传包   FTP?

是,只要您不在共享主机中,因为大多数人不允许使用CLI(SSH)。

  

文档进一步说我可以简单地安装像这样的依赖

php composer.phar install

是的,您可以简单地输入上面的命令,composer.json将安装最新版本的软件包。

Composer.json (尊重包裹)

{
    "require": {
        "respect/validation": "dev-master"
    }
}

现在运行composer install将安装require包。

了解更多套餐

{
    "require": {
        "respect/validation": "dev-master",
        "doctrine/orm": "2.*"
    }
}

现在运行更新composer update它也会下载doctrine/orm