Yii2:使用 fxp assets 插件还是 asset-packagist?
Yii2: use fxp assets plugin or asset-packagist?
似乎 yii2 之间有一些未解决的冲突
使用 asset-packagist.org 方法,或者旧的
fxp 资产插件。
我现在正在处理一个项目,打算使用
资产包装师。所有设置都显示正常,但 Yii2 似乎忽略了
这一切并坚持使用不存在的 bower 目录。
使用asset-packagist方法,这个目录叫做bower-asset.
设置:为了使这项工作有效,我们使用(在 common/config/base.php 中):
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
],
...在 composer.json 中我们设置:
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
],
这没有帮助,但是,仍然出现错误:
The file or directory to be published does not exist:
C:\....common\config/../../vendor/bower/semantic/dist
还尝试通过(在 composer.json 中)关闭 fxp:
"config": {
"fxp-asset": {
"enabled": false
}
},
也试过命令:
composer global remove fxp/composer-asset-plugin --no-plugins
同样的事情。
注意:该项目是在Linux开发的,我现在尝试在Windows 10和XAMPP本地主机上打开它。如果 Windows 相关,请随时告诉我。
为了让它工作,我不得不选择 fxp-plugin,并放弃 asset-packagist 方式(根据我目前的知识,它根本不起作用),如下所示:
- 从 composer.json 的存储库部分删除了对
asset-packagist.org
的引用(在我的例子中,我删除了整个存储库部分。:
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
],
- 安装最新的 composer fxp-plugin,当前为 1.4.6:
composer global require "fxp/composer-asset-plugin:~1.4.6"
- 删除了 common/config/base.php.
中的 @bower -> bower-asset(以及 npm 的那些)别名
- 然后,如果您将 vendor 中的 bower-asset 文件夹重命名为 "bower",现在它会找到正确的路径。但是您永远不应该更改供应商文件夹中的任何内容,而是将此
fxp-asset
部分添加到 composer.json: 中的 "config"
"config": {
"process-timeout": 1800,
"fxp-asset":{
"installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
}
}
- 然后删除 vendor 文件夹,删除 Composer.lock 文件和 运行
composer install
。
似乎 yii2 之间有一些未解决的冲突 使用 asset-packagist.org 方法,或者旧的 fxp 资产插件。 我现在正在处理一个项目,打算使用 资产包装师。所有设置都显示正常,但 Yii2 似乎忽略了 这一切并坚持使用不存在的 bower 目录。 使用asset-packagist方法,这个目录叫做bower-asset.
设置:为了使这项工作有效,我们使用(在 common/config/base.php 中):
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
],
...在 composer.json 中我们设置:
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
],
这没有帮助,但是,仍然出现错误:
The file or directory to be published does not exist:
C:\....common\config/../../vendor/bower/semantic/dist
还尝试通过(在 composer.json 中)关闭 fxp:
"config": {
"fxp-asset": {
"enabled": false
}
},
也试过命令:
composer global remove fxp/composer-asset-plugin --no-plugins
同样的事情。
注意:该项目是在Linux开发的,我现在尝试在Windows 10和XAMPP本地主机上打开它。如果 Windows 相关,请随时告诉我。
为了让它工作,我不得不选择 fxp-plugin,并放弃 asset-packagist 方式(根据我目前的知识,它根本不起作用),如下所示:
- 从 composer.json 的存储库部分删除了对
asset-packagist.org
的引用(在我的例子中,我删除了整个存储库部分。:
"repositories": [ { "type": "composer", "url": "https://asset-packagist.org" } ],
- 安装最新的 composer fxp-plugin,当前为 1.4.6:
composer global require "fxp/composer-asset-plugin:~1.4.6"
- 删除了 common/config/base.php. 中的 @bower -> bower-asset(以及 npm 的那些)别名
- 然后,如果您将 vendor 中的 bower-asset 文件夹重命名为 "bower",现在它会找到正确的路径。但是您永远不应该更改供应商文件夹中的任何内容,而是将此
fxp-asset
部分添加到 composer.json: 中的 "config"
"config": { "process-timeout": 1800, "fxp-asset":{ "installer-paths": { "npm-asset-library": "vendor/npm", "bower-asset-library": "vendor/bower" } } }
- 然后删除 vendor 文件夹,删除 Composer.lock 文件和 运行
composer install
。