我正试图将composer中的某个包安装到某个路径中,包名为cyphix333/nbbc
,通常会安装到vendor/cyphix333/nbbc
中,但我想将其安装到vendor/nbbc
中,所以我在主项目composer.json
中尝试了这一点
"require": {
//......
"cyphix333/nbbc": "dev-master"
},
"extra": {
"asset-installer-paths": {
//.....
"cyphix333/nbbc": "vendor/nbbc"
}
}
然而,它没有工作,它仍然安装在vendor/cyphix333/nbbc
中。
编辑:。。。这是extra
部分的完整数据,它来自我的php框架yii2
:
"extra": {
"yii\composer\Installer::postCreateProject": {
"setPermission": [
{
"runtime": "0777",
"web/assets": "0777",
"yii": "0755"
}
],
"generateCookieValidationKey": [
"config/web.php"
]
},
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower",
"cyphix333/nbbc": "vendor/nbbc"
}
}
我在这里做错了什么?
1。asset-installer-paths
=Composer插件fxp/composer-asset-plugin
asset-installer-paths
指令属于Composer插件fxp/composer-asset-plugin
。插件是必需的,此指令才能工作。但您在项目回购或全球范围内都不需要它。
Docu-安装
composer require "fxp/composer-asset-plugin:~1.0"
或
composer global require "fxp/composer-asset-plugin:~1.0"
2.cyphix333/nbbc
是鲍尔资产还是NPM资产
没有。
3.我做错了什么
您认为,可以使用asset-installer-paths
指令将包移动到特定的文件夹中。你不能。因为您的回购不是Bower或NPM资产。
4.如何将我的包裹从vendor/cyphix333/nbbc
移动到vendor/nbbc
别再尝试了。这是浪费时间。为什么?Composer有一个Autoloader,他负责从类名到文件名的映射。请不要在意路径,只需定义一个自动加载策略(文件或类映射)并开始使用您的类。
如果你真的需要复制东西,你可以使用composer.json的scripts
部分。https://getcomposer.org/doc/articles/scripts.md