向 Octobercms Market 提交一个插件,有 composer 的要求;必须包括供应商地图吗?
Submit a plugin to Octobercms Market with composer requirements; must the vendor map be included?
作为一名开发人员,我想向 OC Market 提交一个插件。我的插件在 composer.json.
中定义了作曲家要求
在开发机器上一切正常,依赖项包含在项目根目录中执行的作曲家更新中。所以所有依赖项都在主根供应商映射中。
我已经从 account/plugin/create 页面将我的插件提交到 OC Market。该插件作为 ZIP 文件上传,没有(!)供应商地图。依赖项仅在 composer.json 文件中定义,但实际上并未包含在 ZIP 文件中。
当我现在在全新的 OC 安装中安装我的插件时,插件文件夹中包含一个 'vendor' 地图。像这样:'plugins/author/foo/vendor'。该插件是从 CMS (url: backend/system/updates/install) 中安装的,也是使用 $ artisan plugin:install author.foo
在 cli 上进行的第二次测试。两次安装都正确。
- 这个供应商地图是如何进入插件所在文件夹的?
- 提交到 OC Market 时在 ZIP 文件中添加或不添加供应商地图是一种好习惯吗?
October 在插件安装或 php artisan october:up
中获取作曲家依赖项
例如在我的插件中:
{
"name" : "Tschallacka/dynamic-pages-plugin",
"type" : "october-plugin",
"description" : "DynamicPages plugin for October CMS",
"homepage" : "",
"keywords" : [
"october",
"octobercms",
"pages",
"exit"
],
"authors" : [{
"name" : "Tschallacka",
"email" : "tsch@",
"role" : "Developer"
}
],
"require" : {
"php" : ">=7.0",
"composer/installers" : "~1.0",
"webpatser/laravel-uuid" : "^2.0",
"paragonie/random_compat" : "^2.0"
},
"minimum-stability" : "dev"
}
如果我在没有 vendor 文件夹的情况下提供它,那么当我 october:up
或通过 october 后端安装它时,vendor 文件夹(驻留在此处 plugins/author/myplugin/vendor
)将填充所需的文件,所以我最终在供应商目录中找到了 composer、webpatser 和 paragonie 文件夹。
octobercms.com 市场构建过程将插件的依赖项拉入插件自己目录下的 vendor 目录,然后从生成的包中删除 composer.lock 和 composer.json。这是为了支持不使用 Composer 的用户,同时也支持同时使用市场插件和基于 Composer 的插件的用户。
如果我们在构建过程中将 composer.json 留在插件中,然后用户从该市场插件的项目根目录中 运行 composer update
,突然之间他们会重复的依赖关系导致了很多问题。
所有这一切都是为了说明:在向市场提交插件时不要包含您的供应商目录,市场会处理这个问题。不过请务必包含您的 composer.json 文件。
关于 RainLab.GoogleAnalytics,市场上的构建似乎已损坏,这意味着它需要在市场上重建。这可以通过将更新推送到 Github 存储库来触发,不幸的是,由于某种原因,我的 Github 帐户的存储库已严重损坏,我什至无法对问题发表评论。因此,我无法触发插件的重建。但是,如果你在 Slack 或 IRC 上提醒我与@spunky(October 的创建者)谈谈,那么我可以做到,也许他可以触发重建。
作为一名开发人员,我想向 OC Market 提交一个插件。我的插件在 composer.json.
中定义了作曲家要求在开发机器上一切正常,依赖项包含在项目根目录中执行的作曲家更新中。所以所有依赖项都在主根供应商映射中。
我已经从 account/plugin/create 页面将我的插件提交到 OC Market。该插件作为 ZIP 文件上传,没有(!)供应商地图。依赖项仅在 composer.json 文件中定义,但实际上并未包含在 ZIP 文件中。
当我现在在全新的 OC 安装中安装我的插件时,插件文件夹中包含一个 'vendor' 地图。像这样:'plugins/author/foo/vendor'。该插件是从 CMS (url: backend/system/updates/install) 中安装的,也是使用 $ artisan plugin:install author.foo
在 cli 上进行的第二次测试。两次安装都正确。
- 这个供应商地图是如何进入插件所在文件夹的?
- 提交到 OC Market 时在 ZIP 文件中添加或不添加供应商地图是一种好习惯吗?
October 在插件安装或 php artisan october:up
例如在我的插件中:
{
"name" : "Tschallacka/dynamic-pages-plugin",
"type" : "october-plugin",
"description" : "DynamicPages plugin for October CMS",
"homepage" : "",
"keywords" : [
"october",
"octobercms",
"pages",
"exit"
],
"authors" : [{
"name" : "Tschallacka",
"email" : "tsch@",
"role" : "Developer"
}
],
"require" : {
"php" : ">=7.0",
"composer/installers" : "~1.0",
"webpatser/laravel-uuid" : "^2.0",
"paragonie/random_compat" : "^2.0"
},
"minimum-stability" : "dev"
}
如果我在没有 vendor 文件夹的情况下提供它,那么当我 october:up
或通过 october 后端安装它时,vendor 文件夹(驻留在此处 plugins/author/myplugin/vendor
)将填充所需的文件,所以我最终在供应商目录中找到了 composer、webpatser 和 paragonie 文件夹。
octobercms.com 市场构建过程将插件的依赖项拉入插件自己目录下的 vendor 目录,然后从生成的包中删除 composer.lock 和 composer.json。这是为了支持不使用 Composer 的用户,同时也支持同时使用市场插件和基于 Composer 的插件的用户。
如果我们在构建过程中将 composer.json 留在插件中,然后用户从该市场插件的项目根目录中 运行 composer update
,突然之间他们会重复的依赖关系导致了很多问题。
所有这一切都是为了说明:在向市场提交插件时不要包含您的供应商目录,市场会处理这个问题。不过请务必包含您的 composer.json 文件。
关于 RainLab.GoogleAnalytics,市场上的构建似乎已损坏,这意味着它需要在市场上重建。这可以通过将更新推送到 Github 存储库来触发,不幸的是,由于某种原因,我的 Github 帐户的存储库已严重损坏,我什至无法对问题发表评论。因此,我无法触发插件的重建。但是,如果你在 Slack 或 IRC 上提醒我与@spunky(October 的创建者)谈谈,那么我可以做到,也许他可以触发重建。