PHP Composer自定义安装程序

PHP Composer自定义安装程序,php,json,composer-php,Php,Json,Composer Php,我试图解决这个问题已经有很长一段时间了,但仍然无法找出我的错误 我想合并两个存储库。应用程序和框架核心 // Application - composer.json - public/ - CCF/ - core/ <- here the core package should go - vendor/ <- here it goes instead 核心的composer.json { "name": "clancats/core", "des

我试图解决这个问题已经有很长一段时间了,但仍然无法找出我的错误

我想合并两个存储库。应用程序和框架核心

// Application
 - composer.json
 - public/
 - CCF/
   - core/ <- here the core package should go 
   - vendor/ <- here it goes instead
核心的composer.json

{
    "name": "clancats/core",
    "description": "The ClanCatsFramework Core repository",
    "type": "clancatsframework-core",
    "license": "MIT",
    "require": {
        "php": ">=5.3",
        "composer/installers": "~1.0"
    }
}
{

    "type": "project",  
    "require": {
        "php": ">=5.3",
        "clancats/core": "dev-master"
    },
    "config": {
        "vendor-dir": "CCF/vendor"
    },
}
应在CCF/core实现核心的应用程序的composer.json

{
    "name": "clancats/core",
    "description": "The ClanCatsFramework Core repository",
    "type": "clancatsframework-core",
    "license": "MIT",
    "require": {
        "php": ">=5.3",
        "composer/installers": "~1.0"
    }
}
{

    "type": "project",  
    "require": {
        "php": ">=5.3",
        "clancats/core": "dev-master"
    },
    "config": {
        "vendor-dir": "CCF/vendor"
    },
}
但毕竟,composer仍然将核心包安装在/vendor/clandcats/等

所以我的问题是,我犯了什么错误,composer没有将core包安装到CCF/core/

  • 将编写器/安装程序添加到所需的
  • 我创建了一个自定义安装程序,它定义了核心的路径
  • 将核心包的类型设置为“我的自定义包”
另一个困扰我的问题是,我的模式错了吗?我的意思是我是否误解了如何使用composer

Github:

  • 框架安装回购:
  • 核心回购:

谢谢大家的帮助:)

所以对于遇到同样问题的每个人:

我的错误是我不需要主存储库中的
composer/installers

两个存储库中都需要composer安装程序。

因此,在这种情况下:

{
    "type": "project",  
    "require": {
        "php": ">=5.3",
        "clancats/core": "dev-master",
        "composer/installers": "~1.0"
    },
    "config": {
        "vendor-dir": "CCF/vendor"
    },
}

解决问题。

请添加以下内容:描述你正在尝试做什么,你期望结果是什么,以及你得到了什么(如果不明显,期望和现实之间有什么区别困扰着你)。这些是获得帮助所需的基本信息——就目前情况而言,你只是说你做了什么,你需要帮助,但你至少没有问过一个问题。@Sven谢谢你的回答。我更新了这个问题,希望它现在更清楚我的要求。伟大的更新!现在任何人都可以帮忙了。你甚至可以从我这里得到一些分数。:)为什么你不能把它们留在供应商目录中?@Patrick忘了我能做的核心,我已经做了。但至少orbit软件包“CCF/orbit/{$name}/”应该有自己的安装目录。