Composer php 提交一个插件到Octobercms市场与作曲家的要求;必须包括供应商地图吗?

Composer php 提交一个插件到Octobercms市场与作曲家的要求;必须包括供应商地图吗?,composer-php,octobercms,Composer Php,Octobercms,作为一名开发者,我想向OC市场提交一个插件。我的插件在composer.json中定义了composer需求 在dev机器上,一切都运行良好,依赖项包含在项目根目录中执行的composer update中。因此,所有依赖项都位于主根供应商映射中 我已经从account/plugin/create页面向OC Market提交了我的插件。插件以ZIP文件的形式上传,没有(!)供应商地图。依赖项仅在composer.json文件中定义,但实际上并未包含在ZIP文件中 当我现在在一个新的OC安装中安装我

作为一名开发者,我想向OC市场提交一个插件。我的插件在composer.json中定义了composer需求

在dev机器上,一切都运行良好,依赖项包含在项目根目录中执行的composer update中。因此,所有依赖项都位于主根供应商映射中

我已经从account/plugin/create页面向OC Market提交了我的插件。插件以ZIP文件的形式上传,没有(!)供应商地图。依赖项仅在composer.json文件中定义,但实际上并未包含在ZIP文件中

当我现在在一个新的OC安装中安装我的插件时,插件文件夹中包含一个“供应商”映射。像这样:'插件/作者/foo/供应商'。该插件是从CMS内部安装的(url:backend/system/updates/install),也可以作为cli上的第二个测试,使用
$artisan plugin:install author.foo
。两次安装都正常

  • 这个供应商地图是如何进入插件所在的文件夹的
  • 在提交给OC Market时,在ZIP文件中添加或不添加供应商地图是否是一种良好的做法

  • 十月获取对插件安装或php artisan十月:上的作曲家依赖

    例如,在我的插件中:

    {
        "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"
    }
    

    如果我在没有供应商文件夹的情况下提供它,那么当我执行
    10月:更新
    或通过10月后端安装它时,供应商文件夹(位于此处
    plugins/author/myplugin/vendor
    )将填充所需的文件,因此我最终会在我的供应商目录中使用composer、webappser和paragonie文件夹

    octobercms.com市场构建过程将插件的依赖项拉入插件自己目录下的供应商目录,然后从生成的包中删除composer.lock和composer.json。这是为了支持不使用composer的用户,同时也支持同时使用marketplace插件和基于composer的插件的用户

    如果在构建过程中我们将composer.json留在插件中,然后用户从该marketplace插件的项目根运行
    composer update
    ,那么突然之间,他们会有重复的依赖项,这会导致很多问题

    所有这一切都是为了说明:在向市场提交插件时,不要包括您的供应商目录,市场会处理好的。但一定要包括composer.json文件


    关于RainLab.GoogleAnalytics,市场上的构建似乎被破坏,这意味着它需要在市场上重建。这可能是由于将更新推送到Github存储库而触发的,不幸的是,由于某种原因,我的Github帐户的存储库大量损坏,我甚至无法对问题发表评论。因此,我无法触发插件的重建。但是,如果你提醒我在Slack或IRC上与@spunky(10月的创建者)讨论此事,那么我可以这样做,也许他可以触发重建。

    请任何人。如果我的问题不清楚,我非常愿意尝试更清楚。谢谢你的时间!显示依赖项的供应商文件夹的路径是什么?因为当我安装从OC Marketplace检索到的插件时,文件夹显示在这里
    www/plugins/authorname/pluginname/vendor
    文件夹。不在这里
    www/vendor
    是的,它应该显示在这里。它是由composer.json维护的插件的供应商文件夹。十月有自己的供应商文件夹,由自己的composer.json维护。这就是它的工作原理:-)。好吧!隐马尔可夫模型。。我还使用composer安装私有插件,例如,在OC项目的根目录中安装composer require company/myplugin,然后将所有依赖项下载到根供应商文件夹中,而不是插件文件夹中。这就是为什么一开始看起来很奇怪。。。是我的问题开始的地方。。。没有错误,但也没有供应商文件夹。。。知道吗?可能有错误。如果您手动执行composer命令来更新依赖项,会发生什么情况呢;如果你使用广告拦截器,试着禁用它。这对我来说是个好办法。