利用作曲家资产安装程序路径不起作用
Utilising composers asset-installer-paths not working
我正在尝试将 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
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 有一个自动加载器,他负责从 classname 到文件名的映射。请不要关心路径,只需定义一个自动加载策略(文件或 classmap)并开始使用你的 class.
如果您确实需要复制内容,可以使用 composer.json 的 scripts
部分。
https://getcomposer.org/doc/articles/scripts.md
我正在尝试将 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
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 有一个自动加载器,他负责从 classname 到文件名的映射。请不要关心路径,只需定义一个自动加载策略(文件或 classmap)并开始使用你的 class.
如果您确实需要复制内容,可以使用 composer.json 的 scripts
部分。
https://getcomposer.org/doc/articles/scripts.md