# Yii2 composer install 后，vendor目录下没有bower-asset或者bower的问题

**URL:** <https://www.shiqidu.com/t/topic/776>\
**Category:** 开发调优\
**Tags:** PHP\
**Created:** [2022 年3 月 8 日 03:57 UTC](https://www.shiqidu.com/t/topic/776 "2022-03-08T03:57:53Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![Eureka](https://www.shiqidu.com/user_avatar/www.shiqidu.com/eureka/32/5_2.png) [@Eureka](https://www.shiqidu.com/u/Eureka)\
发布日期： [2022 年3 月 8 日 03:57 UTC](https://www.shiqidu.com/t/topic/776/1 "2022-03-08T03:57:53Z")

</div>

执行composer install后提示安装成功了，但是打开项目后却报错说没有bower-asset目录。

```auto
Exception 'yii\base\InvalidArgumentException' with message 'The file or directory to be published does not exist: D:\phpstudy_pro\WWW\testyii2\vendor/bower-asset/jquery/dist'

in D:\phpstudy_pro\WWW\testyii2\vendor\yiisoft\yii2\web\AssetManager.php:467

```

打开vendor目录发现确实没有bower-asset或者bower目录，于是怀疑是composer install的时候没有安装完整的问题，所以手动把vendor目录和composer.lock删除后，重新composer install，最后发现还是没有bower-asset目录。。。

经过漫长的搜索和尝试，发现是因为composer.json里的这个配置导致的。

```js
"config": {
	"process-timeout": 1800,
	"fxp-asset": {
		"enabled": fase
	}
},

```

因为把fxp-asset禁用了，所以composer install时不会安装前端相关的依赖。要解决bower-asset目录不存的问题，需要先把fxp-asset启用。

```js
"config": {
	"process-timeout": 1800,
	"fxp-asset": {
		"enabled": true
	}
},

```

然后再把vendor目录和composer.json文件删除，最后重新执行composer install，发现bower-asset目录终于被安装了。
