我不知道如何将本地目录注册为作曲家包。我找到了很多关于注册本地文件夹的信息,该文件夹要么是 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"
}
}
}
在"require"
下添加"local/contact-form-7-mailchimp-extension": "*"
, 在"extras"
>"installer-paths"
下的"public/plugins/{$name}"
中添加"local/contact-form-7-mailchimp-extension"
。
但是,运行composer install
不会安装它,并且根本不提供任何信息。甚至不知道它是否找到了网址。
甚至可以安装这样的本地目录吗?
您可以使用路径存储库将来自不同路径的包安装到项目中。
但是,我想在本地计算机上注册一个文件夹,该文件夹与我的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 安装软件包时,它应该告诉您它从哪里安装它,即您应该在那里找到存储库的路径。