Heroku 部署失败:[远程拒绝] master ->主(预接收钩拒绝):错误:未能推送一些参考
我将现有应用复制到新存储库中.它在本地工作.为原始部署工作.我正在使用 PHP、Yii 和 Composer.我不知道 fxp/composer-asset-plugin
是什么.
I copied an existing app into a new repository. It works locally. Deploys work for the original. I'm using PHP, Yii, and Composer. I don't know what fxp/composer-asset-plugin
is.
C:UsersChloeworkspaceaffiliorama>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 FxpComposerAssetPluginRepositoryNpmRepository does not exist
remote:
remote:
remote: [ErrorException]
remote: Declaration of FxpComposerAssetPluginRepositoryAbstractAssetsRepository::whatProvides() should be compatible with ComposerRepositoryComposerRepository::whatProvides(ComposerDependencyResolverPool $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
中
This is in my composer.json
if it's important
"require": {
"fxp/composer-asset-plugin": "^1.0",
推荐答案
我不得不跑
composer global require fxp/composer-asset-plugin --no-plugins
然后 composer update
,然后提交,然后推送.过了那部分.
then composer update
, then commit, then push. It got past that part.
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.json
require 部分中有 "fxp/composer-asset-plugin": "*",
>,它只是不加载它.所以我不得不再次运行global require"来全局安装那个神秘包,然后我可以运行 composer install
来让所有东西都新鲜,并且它起作用了.
It broke again and I had to delete vendor/
and composer.lock
. You can remove the global plugin with composer global remove "fxp/composer-asset-plugin"
. Someone also said you can use rm -r ~/.composer
. It was giving a different error in the interim. For some reason, even if you have "fxp/composer-asset-plugin": "*",
in your require
section of composer.json
, it just doesn't load it. So I had to run 'global require' again to install that mystery package globally, and then I could run composer install
to get everything fresh, and it worked.
相关文章