当我尝试部署到Heroku时,我收到此错误。
IsVisibleChanged
我在开发中只有remote: -----> Running 'composer compile'...
remote: > php yii asset assets.php config/assets-prod.php
remote: Exception 'ReflectionException' with message 'Class yii\gii\Module does not exist'
remote:
remote: in /tmp/build_43b5f0b03599190faf308cbb5640d75d/vendor/yiisoft/yii2/di/Container.php:422
remote:
:
gii
composer.json
"require-dev": {
"yiisoft/yii2-gii": "*",
[...]
"scripts": {
"compile": [
"php yii asset assets.php config/assets-prod.php"
console.php
当我将环境设置为PROD时,它在本地工作:
'bootstrap' => YII_ENV == 'dev' ? ['log', 'gii'] : ['log'],
'modules' => YII_ENV == 'dev' ? [
'gii' => 'yii\gii\Module'
] : [],
顺便说一下,它在之前版本的Yii2中有效。
这是Yii版本2.0.10。
糟糕,我需要运行
$ YII_ENV=prod php yii asset assets.php config/assets-prod.php
[...]
Creating new bundle configuration...
Output bundle configuration created at 'config/assets-prod.php'.
但是现在它出现了一个不同的错误:
>heroku config:set YII_ENV=prod
答案 0 :(得分:1)
终于开始工作了。我必须将composer-asset-plugin
添加到composer.json
。
"require": {
"fxp/composer-asset-plugin": "^1.2.0"
不是一个非常有用的错误消息,特别是考虑到它仍然从Bower安装了JQuery!