作曲家需要本地git软件包,而无需dev-master

时间:2018-10-11 15:53:08

标签: php composer-php package local

我想创建一个将存储在git存储库中的 local 计算机上的软件包。

我不想这样打包:

composer require vendor/package:dev-master

但简单地

composer require vendor/package

在这种情况下,不能使用github,packagist,bitbucket等外部服务。

您知道如何创建这样的程序包吗?

1 个答案:

答案 0 :(得分:0)

我要说的第一件事是Composer,用于管理您所使用的任何计算机上的依赖项。这意味着,如果我想在我的机器上设置项目,则composer将负责获取所有依赖项。如果仅在您的计算机上找到该代码,则无法在计算机上设置您的项目。

我的3条建议是:

  1. 将依赖包放在您的项目中并提交。如果它不能拥有自己的存储库,但是您当前的项目依赖于它,那么我将其提交到您的项目中。这样,所有依赖项都将存在。如果您不能出于隐私目的提交它,则可以使用私有存储库。如果这也不是一个选择,那么您将不得不继续我的第二个建议。
  2. 如果您不能将其提交到任何存储库,但是可以在线托管,则可以将代码托管在某个公共URL的zip文件中。然后,您可以告诉作曲家在哪里可以找到代码。在composer.json here的存储库部分中查看有关内联软件包的部分。
  3. 如果您不能提交它,也不能在线托管它,则必须告诉作曲家在服务器上的什么位置。您可以使用composer.json文件中的psr-4psr-0字段执行此操作。例如:

{ "autoload": { "psr-4": { "packageName\\": "/path/to/package/" } } }

以这种方式进行操作将要求任何想要在另一台计算机上设置您的项目的人都必须自己下载相关的程序包,并将其放在计算机上的适当路径中。