【问题标题】:Where are composer packages installed?作曲家软件包安装在哪里?
【发布时间】:2014-10-20 23:19:57
【问题描述】:

我的向导:http://phpunit.de/manual/current/en/installation.html#installation.composer

上面写着Make sure you have ~/.composer/vendor/bin/ in your path.

在 Win7 机器上,它会在哪里?

我假设它是我的 php 项目文件夹,因为 vendor 文件夹出现在 composer install 之后

但是每个包都有它自己的 bin 文件夹...我应该在每次添加包时更新我的​​路径吗?这不可能。

更新: 在将 composer 配置为安装 phpunit、phpcs、phploc、pdepend、phpmd、phpcpd 和 phpdox 后,我得到了这个:

.\project\vendor\bin
.\project\vendor\composer
.\project\vendor\nikic
.\project\vendor\phpunit
.\project\vendor\theseer
.\project\vendor\zetacompnents

.\project\vendor\bin 仅包含 phpdoxphpdox.bat

更新: 在对 Composer 的其他问题进行了一些帮助之后,我意识到这里的问题是 Composer 正在从 vendor/bin 卸载包 - 出乎意料。

只要我将"squizlabs/php_codesniffer": "2.0.0a2" 添加到我的composer.json 中,我就会在composer update 时得到这个

Updating dependencies (including require-dev)
  - Removing phpmd/phpmd (2.0.0)
  - Removing pdepend/pdepend (2.0.0)

为什么现在要删除这些软件包?我仍然需要它们。我会将此作为一个新问题发布

【问题讨论】:

    标签: xampp composer-php


    【解决方案1】:

    对于 Windows 用户:

    软件包安装在您的命令行当前所在的位置,例如C:\用户\用户\

    检查 C:\Users\user\vendor 文件夹及其内容

    使用您的帐户名称而不是“用户”,例如C:\Users\Maxcot\

    希望这对 Windows 用户有所帮助。

    【讨论】:

      【解决方案2】:

      回答您的第二个问题:不,如果您使用 Composer 全局安装软件包,则“二进制文件”只有一个文件夹 vendor/bin,但这实际上取决于给定软件包是否会使用它。

      如果您在项目中安装开发包(我建议至少使用 PHPUnit,它允许任何人运行测试而无需处理安装正确版本),那么 vendor/bin 文件是本地的并且可以通过相对路径访问,因此平台之间应该没有区别。

      我现在唯一不能回答的是 Windows 将 .composer 文件夹放在哪里,因为我只在 Linux 上使用过 Composer。

      【讨论】:

      • :) 考虑到我最近试图让它工作的挫败感,向 linux 的大规模转换看起来非常有吸引力。
      • 好的,所以我可以通过相对路径访问 vendor/bin。但是其他工具不在 bin 文件夹中,所以我必须手动将 phar 文件放入 bin 目录中......那为什么要使用 composer?链接中的指南说We assume that these tools are on the $PATH and can be invoked with phpunit, phpcs, phploc, pdepend, phpmd, phpcpd, and phpdox, respectively.
      • 哪个指南?我知道您现在正尝试通过 Composer 安装所有这些 QA 工具,这也是我的建议。要启动它们,您可以使用自制脚本或使用 Phing、Ant 等创建一些东西。我的方法是使用 Composer 全局安装 Phing,使项目中的构建脚本能够运行并处理其余部分,包括您遇到的路径问题,因为运行的每个工具都可以在单独的任务中解决,并且您不必摆弄命令行。像phing qa 这样的简单运行将执行所有操作。
      • 我参考的指南在原帖的顶部。我只是不明白 Composer 的角色。它下载了各种工具,我可以看到它们 - 它们出现在 vendor 下的项目文件夹中 - 但它们遍布在该文件夹下的各个子目录中。因此,如果我使用 Ant 或 Phing 或其他任何东西,我将不得不在脚本中写出每个工具的路径。 .为什么不直接下载每个工具的 PHAR 版本并将它们转储到一个目录中。不需要作曲家。
      • 该链接指向 PHPUnit 安装指南。它没有提及任何其他工具,也不包含您第一条评论中的引用。
      猜你喜欢
      • 2020-05-25
      • 2016-06-13
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多