当前位置: 首页 > 知识库问答 >
问题:

composer软件包的自定义安装路径

冯通
2023-03-14

嗨,我正在尝试使用composer设置一个项目。我能够安装CakePHP,但在自定义目录上安装CakePHP/debug_工具包时遇到了困难。我试图将其安装在“vendor/cakephp/cakephp/app/Plugin/DebugKit/”上,因为cakephp要求其插件安装在其“app”文件夹的Plugin目录中。

我已经根据这个网站设置了我的composer.json,但插件仍然安装在"供应商/cakephp/debug_kit"

这是我的作曲家。json可能我的代码有问题。我只是一个使用作曲家的新手。json。

{
    "name" : "notmii/pse",
    "repositories" :
    [{
        "type": "package",
        "package":
        {
            "name" : "cakephp/cakephp",
            "version" : "2.3.5",
            "source" :
            {
                "type" : "git",
                "url" : "git://github.com/cakephp/cakephp.git",
                "reference" : "2.3.5"
            },
            "bin" : ["lib/Cake/Console/cake"]
        }
    },
    {
        "type": "package",
        "package":
        {
            "name" : "cakephp/debug_kit",
            "version" : "2.2.0",
            "source" :
            {
                "type" : "git",
                "url" : "https://github.com/cakephp/debug_kit.git",
                "reference" : "2.2.0"
            }
        }
    }],

    "extra":
    {
        "installer-paths":
        {
            "vendor/cakephp/cakephp/app/Plugin/DebugKit/": ["cakephp/debug_kit"]
        }
    },

    "require" :
    {
        "php": ">=5.3",
        "cakephp/cakephp" : ">=2.3.5",
        "cakephp/debug_kit": "2.2.*"
    }
}

共有3个答案

松骏俊
2023-03-14

作曲家包自定义安装插件,你不需要开发自定义安装程序。只需FORK它,并在src/Installer下的配置目录中添加您的说明CPCInstaller将为您做一切。

寇涵容
2023-03-14

如果要将所有插件添加到app/Plugin,而不是为每个插件定义自定义路径,请如下更新extra块:

"extra": {
    "installer-paths": {
        "app/Plugin/{$name}/": ["type:cakephp-plugin"]
    }
}
潘辰龙
2023-03-14

将额外块更改为:

"extra":
{
    "installer-paths":
    {
        "app/Plugin/DebugKit": ["cakephp/debug_kit"]
    }
},

这对我有用。

 类似资料:
  • 我试图在Symfony2上安装FOSUserBundle。 尝试在终端中运行此命令时 作曲家更新朋友软件交响乐/用户包 我提出了这个错误: 用包信息加载作曲家存储库更新依赖项(包括要求开发)您的需求无法解析为一组可安装的包。 问题1-symfony/icu v1.2.0需要lib-icu 我读到了关于INTL扩展没有安装正确,所以我按照这些说明,重新启动MAMP,问题仍然存在! 我也使用phpin

  • 问题内容: 我已经在Redhat下使用yum安装了ffmpeg,但很难确定将软件包安装到的位置(路径)。是否有一种简便的方法可以确定此结果,而无需自己手动找到它? 问题答案: yum使用RPM,因此以下命令将列出已安装软件包的内容:

  • 我正在尝试用composer安装maddhatter/laravelfullcalendar包(laravelhelper for fullcalendar.io)。下面是我运行的命令: ''php.././composer.phar需要maddhatter/laravel fullcalendar'' 结果是这样的: 将^1.3版用于maddhatter/laravel fullcalendar

  • 问题内容: 我正在尝试使用Composer安装软件包的特定版本。我尝试过,但是他们正在安装软件包的最新版本。如果我想要旧版本怎么办? 问题答案: 例如:

  • 问题内容: 我有这个定义: 我正在使用Symfony 1,并且想在上安装它们。我该如何指定? 问题答案: 看来您可以将目录定义为其他内容(在您的情况下): 然后,您可以将包名称重命名为其中没有级别目录,例如: 因此,您应该看起来像这样: 编辑 使用此配置,您将获得路径(这 当然 对symfony不利): 插件/sfGuardPlugin/sfGuardPlugin-4.0.2/ 我发现了一个解决方

  • 问题内容: 是否可以通过命令标志或环境变量来指定自定义包目标? 默认情况下,npm local安装最终会在当前目录中进行,但是我希望它安装在其他目录中。我该如何实现? 问题答案: TL; DR 您可以通过使用标志和*标志来实现。 *即使这是“全局”安装,除非存在中,否则无法通过命令行访问已安装的垃圾箱。 TL; R 的每个可配置属性都可以在六个不同的地方设置。按优先顺序: 命令行标志: 环境变量: