使用composer将程序包安装到自定义路径不起作用

时间:2013-09-23 10:37:18

标签: php yii composer-php

我使用了这个link,但对我来说不起作用......

{
"name": "vendor/work-team-betting",
"description": "Team betting webapplication for an event.",
"type": "webapplication",
"authors": [
    {

    }
],
"config": {
    "vendor-dir": "application/vendor"
},
"extra": {
    "installer-paths": {
        "application/framework/{$name}": ["yiisoft/yii"]
    }
},
"require": {
    "composer/installers": "~1.0",
    "yiisoft/yii": "1.1.14"         
}
}

我使用这个composer.json,但是在安装之后,作曲家没有将yiisoft / yii移动到我的application / framework /目录中。 任何人都可以帮助我,我做错了什么? :)

3 个答案:

答案 0 :(得分:2)

这是不可能的,因为Yii(和will)没有使用自定义composer installers,这是完成这项工作所必需的。

引用作曲家安装程序README:

  

以下框架本身可与Composer配合使用,并将安装到默认供应商目录中。使用这些框架安装软件包不需要composer / installers:[...] Yii

https://github.com/composer/installers

这也适用于框架包本身,我强烈建议您来更改此行为。

如果您需要解决一些问题,这些文章可能会对您有所帮助:

答案 1 :(得分:0)

一般情况下,schmunk完全正确。但是,一种解决方法可能是分割原始的Yii存储库并构建您自己的存储库,您只需更改所有内容以将其与c​​omposer安装程序一起使用。

基本上,您需要定义自己的类型或滥用现有类型。

我找到了一个关于如何通过自己的类型扩展作曲家安装程序的好教程:

http://clearcode.cc/2014/10/composer-installer-plugin-usage/

我写了一篇关于如何使用composer安装程序包将我的软件包安装到自定义文件夹的文章:

http://www.ask-sheldon.com/custom-install-path-composer/

重要的是,我误用了另一种存储库类型,以便按照我想要的方式工作。 也许这些信息可以帮助您使用Yii包的分支执行相同的操作。

答案 2 :(得分:0)

这为我解决了它。 自定义模块和主题都安装在供应商目录中。安装路径。

我还需要执行以下操作。

将您的自定义类型添加到 "installer-types"

"installer-types": ["library","my-type-1","my-type-2"]

https://packagist.org/packages/oomphinc/composer-installers-extender