抱歉,我的英语不太好。所以我对作曲家有问题。我可以从包中选择要安装的目录,或者在安装后删除它们。 例如: “yiisoft / yii”这是供应商/包。但我想只安装“yiisoft / yii / framework”目录。我不喜欢保留其他目录。 我仍然觉得什么是解决我问题的最佳解决方案。
答案 0 :(得分:1)
您不应该破坏供应商目录。有充分的理由在vendors
中将它们保持在一起。如果您确实需要从其他路径获得某些文件,请使用符号链接。
有关此主题的更多信息,请阅读Igor Wiedler撰写的关于Composer Vendor Directory的权威博客文章。
或者,您可以使用phing将内容复制到其他地方(和/或删除)。
答案 1 :(得分: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