Yii2 Composer 和 Bower 问题

Yii2 Composer and Bower issue

我在 Yii2 安装过程中遇到问题。

我在 Bitbucket 上有存储库。很明显,在 git clone/fetch/pull 之后我需要安装依赖项。我试图做的一切总是在新创建的 php 7.2.0 Docker 图像机(Bitbucket 管道)中。所以这是我拥有的命令列表:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
php composer.phar create-project

我的 composer.json 文件等于 one from official repository.

问题web/assets目录缺少文件。它有自动生成的目录,只有 yii、yii activeForm、captcha、gridView 和验证 JS 文件。

据我所知composer-asset-plugin 不再使用了。至少在安装指南中没有提及。但即使我添加 php composer.phar global require "fxp/composer-asset-plugin:^1.4.2" 也无法解决问题。看起来凉亭资产无法编译或类似的东西。也许我错了。我不知道为什么它不起作用。搜索时也没有结果。

有什么想法吗?谢谢!

对于面临这个问题的人。我已经再次检查了所有内容,它应该可以工作,但没有。所有基本目录都具有正确的权限。除了这个凉亭问题,一切都运行良好。我在本地 PC 上仔细检查。无法重现。

然而,在大约 10 次修复后,它开始正常工作。也许是 yii\web\AssetManager 问题或其他问题,我仍然不知道,时间会证明。

UPD 22.10.2018

您只需将这段代码添加到您的 cofig 文件中,它就会解决这个问题。

'aliases' => [
    '@bower' => '@vendor/bower-asset',
    '@npm'   => '@vendor/npm-asset'
]

它也被添加到 application templates

当我们使用 composer 2 时出现问题。否则我们可以使用 fxp/composer-asset-plugin。 MihaOo 回答了基本应用程序。对于使用高级应用程序的人可以使用以下配置。

使用以下配置更新 common/config/main.php。

'aliases' => [
    '@bower' => '@vendor/bower-asset',
    '@npm'   => '@vendor/npm-asset',
],

来自 yii2 高级应用程序的原始配置文件 - configuration file

有关此的更多信息 - Yii2 Forum

资产包列表中的完整解决方案-Asset packagelist