2

对不起,我的英语不太好。所以我对作曲家有疑问。我可以从包中选择我想安装的目录,或者在安装后删除它们。例如:“yiisoft/yii”这是供应商/包。但我只想安装“yiisoft/yii/framework”目录。我不喜欢保留其他目录。我仍然找到解决我问题的最佳方法。

4

2 回答 2

1

你不应该弄乱供应商目录。有充分的理由将它们放在一起vendors。如果您确实需要从另一个路径获得某些文件,请使用符号链接。

有关此主题的更多信息,请阅读Igor Wiedler 撰写的有关Composer Vendor Directory的权威博客文章。

或者,您可以使用 phing 将内容复制到其他地方(和/或删除)。

于 2013-09-23T11:29:08.897 回答
0

使用 composer 安装软件时,会安装所有存储库。如果要删除未使用的文件夹,可以使用 composer 的特定功能。您可以通过这种方式捕获一些事件,例如 post-install-cmd 或 post-update-cmd:

{
    "scripts": {
        "post-install-cmd": "Sensorario\\Communityii\\ComposerCommands::postInstall",
        "post-update-cmd": "Sensorario\\Communityii\\ComposerCommands::postUpdate"
    }
}

在项目的根文件夹中,您有 composer.json,您还需要在PSR-0标准中添加一个文件: - composer.json - src/Sensorario/Communityii/ComposerCommands.php

这个文件可以是这样的:

命名空间 Sensorario\Communityii;

class ComposerCommands
{
    public static function postUpdate()
    {
        // remove unused folders
        shell_exec('rm vendor/yiisoft/yii/demos/ ... ');
    }
}

此代码将在之后运行

$ composer update
于 2013-09-24T05:17:05.563 回答