1

我不知道如何将本地目录注册为作曲家包。我发现了很多关于注册本地文件夹的信息,该文件夹可以是 git 存储库或作曲家包,甚至是托管在某处的 zip。

但是我想在我的本地机器上注册一个文件夹,它与我的 wordpress 安装(使用 wordplate)位于同一存储库中,它既不是 git 存储库也不是作曲家包,因为它不包含任何 composer.json。

我目前尝试的是在下面这样注册它repositories

{
            "type": "package",
            "package": {
                "name": "local/contact-form-7-mailchimp-extension",
                "type": "wordpress-plugin",
                "version": "dev-master",
                "source": {
                    "type": "path",
                    "url": "resources/plugins/contact-form-7-mailchimp-extension",
                    "reference": "master"
                }
            }
        }

在下添加,在>"local/contact-form-7-mailchimp-extension": "*""require"添加。"local/contact-form-7-mailchimp-extension""public/plugins/{$name}""extras""installer-paths"

但是,运行composer install不会安装它,并且根本不提供任何信息。甚至不知道它是否找到了网址..

甚至可以安装这样的本地目录吗?

4

1 回答 1

0

您可以使用路径存储库将包从不同的路径安装到您的项目中。

但是我想在我的本地机器上注册一个文件夹,它与我的 wordpress 安装(使用 wordplate)位于同一存储库中,它既不是 git 存储库也不是作曲家包,因为它不包含任何 composer.json。

不过,为此,文件夹中的插件将需要 composer.json。这对于作曲家首先将这个文件夹识别为一个包是必要的。幸运的是,它可以像这样简单:

{
    "name": "local/contact-form-7-mailchimp-extension",
    "description": "My Contact Form-extension using mailchimp",
    "type": "wordpress-plugin",
    "version": "dev-master"
}

假设插件在目录resources/plugins/contact-form-7-mailchimp-extension中,您现在可以将此路径注册为存储库路径,这意味着作曲家将在此文件夹中查找 composer.json 并且当您的 wordpress-project 需要提供的包时,它将(默认情况下)符号链接到小贩。

wordpress 项目的 composer.json 然后需要这些条目(存储库的选项是默认值,可以省略,这只是为了展示如何禁用符号链接,如果你需要的话):

{
    ...,
    "repositories": [
        {
            "type": "path",
            "url":"resources/plugins/contact-form-7-mailchimp-extension",
            "options": {
                "symlink": true
            }
        }
    ],
    "require": {
        "local/contact-form-7-mailchimp-extension": "dev-master",
        ...
    }
}

当 composer 安装包时,它应该告诉你它是从哪里安装的,即你应该从那里找到存储库的路径。

于 2019-06-10T17:37:14.237 回答