我尝试将某个程序包中的某个程序包安装到某个路径中,程序包名称为cyphix333/nbbc
,通常会将其安装到vendor/cyphix333/nbbc
中,但我想将其安装到{ {1}}所以我在主项目vendor/nbbc
composer.json
但是它没有用,它仍然安装在"require": {
//......
"cyphix333/nbbc": "dev-master"
},
"extra": {
"asset-installer-paths": {
//.....
"cyphix333/nbbc": "vendor/nbbc"
}
}
。
编辑 ...这里是vendor/cyphix333/nbbc
部分的完整数据,来自我的php框架extra
:
yii2
我在这里做错了什么?
答案 0 :(得分:4)
<强> 1。 asset-installer-paths
=作曲家插件fxp/composer-asset-plugin
asset-installer-paths
directive属于Composer插件fxp/composer-asset-plugin
。
该插件是必需的,以使该指令起作用。但是,您不需要在项目回购或全球范围内使用它。
composer require "fxp/composer-asset-plugin:~1.0"
或
composer global require "fxp/composer-asset-plugin:~1.0"
<强> 2。 cyphix333/nbbc
是Bower还是NPM资产?
没有。
第3。我在这里做错了什么?
您认为,您可以使用asset-installer-paths
指令将您的包移动到特定文件夹。你不能。因为您的回购不是Bower或NPM资产。
<强> 4。如何将我的包裹从vendor/cyphix333/nbbc
移至vendor/nbbc
?
停止尝试。浪费了时间。为什么? Composer有一个Autoloader,他执行从classname到filename的映射。请不要关心路径,只需定义一个自动加载策略(文件或类图)并开始使用您的类。
如果你真的需要复制内容,可以使用composer.json的scripts
部分。
https://getcomposer.org/doc/articles/scripts.md