Heroku部署失败:[remote rejected]master->;master(接收前挂钩被拒绝):错误:无


Heroku deploy failed: [remote rejected] master -> master (pre-receive hook declined): error: failed to push some refs

我将一个现有的应用程序复制到一个新的存储库中。它在本地工作。为原件部署工作。我使用的是PHP、Yii和Composer。我不知道fxp/composer-asset-plugin是什么。

C:'Users'Chloe'workspace'affiliorama>git push heroku master
Counting objects: 699, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (655/655), done.
Writing objects: 100% (699/699), 25.36 MiB | 142.00 KiB/s, done.
Total 699 (delta 146), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> PHP app detected
remote: -----> Bootstrapping...
remote: -----> Installing platform packages...
remote:        - php (5.6.20)
remote:        - ext-gd (bundled with php)
remote:        - ext-mbstring (bundled with php)
remote:        - ext-soap (bundled with php)
remote:        - nginx (1.8.1)
remote:        - apache (2.4.20)
remote: -----> Installing dependencies...
remote:        Composer version 1.0.0 2016-04-05 13:27:25
remote:        Loading composer repositories with package information
remote:        Installing dependencies from lock file
remote:          - Installing fxp/composer-asset-plugin (v1.1.2)
remote:            Downloading: 100%
remote:
remote:        Plugin installation failed, rolling back
remote:          - Removing fxp/composer-asset-plugin (v1.1.2)
remote:
remote:
remote:          [ReflectionException]
remote:          Class Fxp'Composer'AssetPlugin'Repository'NpmRepository does not exist
remote:
remote:
remote:          [ErrorException]
remote:          Declaration of Fxp'Composer'AssetPlugin'Repository'AbstractAssetsRepository::whatProvides() should be compatible with Composer'Repository'ComposerRepository::whatProvides(Composer'DependencyResolver'Pool $pool, $name, $bypassFilters = false)
remote:
remote:
remote:        install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] [<packages>]...
remote:
remote:
remote:  !     Push rejected, failed to compile PHP app
remote:
remote: Verifying deploy...
remote:
remote: !       Push rejected to affiliorama.
remote:
To https://git.heroku.com/affiliorama.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/affiliorama.git'

这是在我的composer.json中,如果它是重要的

"require": {
    "fxp/composer-asset-plugin": "^1.0",

我不得不运行

composer global require fxp/composer-asset-plugin --no-plugins

然后是composer update,然后是提交,然后是推送。它越过了那个部分。

remote:          - Installing fxp/composer-asset-plugin (v1.1.3)
remote:            Downloading: 100%

它又坏了,我不得不删除vendor/composer.lock。您可以使用composer global remove "fxp/composer-asset-plugin"删除全局插件。有人还说你可以用rm -r ~/.composer。在此期间,它给出了一个不同的错误。出于某种原因,即使你在composer.jsonrequire部分中有"fxp/composer-asset-plugin": "*",,它也不会加载它。所以我不得不再次运行"global-request"来全局安装那个神秘的包,然后我可以运行composer install来更新一切,它起到了作用。