2016-10-07 21 views
1

我想部署一个简单的应用程序来产生的Heroku有效锁定文件,但不断收到此错误信息:错误:无法解析'composer.lock';它必须是由作曲家

Alastairs-MacBook-Air:php-getting-started alastair$ git push heroku master 
Counting objects: 6, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (6/6), done. 
Writing objects: 100% (6/6), 1.23 KiB | 0 bytes/s, done. 
Total 6 (delta 5), reused 0 (delta 0) 
remote: Compressing source files... done. 
remote: Building source: 
remote: 
remote: -----> PHP app detected 
remote: -----> Bootstrapping... 
remote: -----> Installing platform packages... 
remote: 
remote: !  ERROR: Couldn't parse 'composer.lock'; it must be a valid lock 
remote:  file generated by Composer. Run 'composer update', add/commit 
remote:  the change, then push again. 
remote: 
remote: !  Push rejected, failed to compile PHP app 
remote: 
remote: !  Push failed 
remote: Verifying deploy... 
remote: 
remote: ! Push rejected to arcane-peak-94383. 
remote: 
To https://git.heroku.com/arcane-peak-94383.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to 'https://git.heroku.com/arcane-peak-94383.git' 

正是这种tutorial

我已经多次运行作曲家更新,添加/提交更改,并重新安装了作曲家。所有没有运气。 composer.lock文件是由Composer生成的,因为我通过运行作曲家更新来重新生成它。

这是我的composer.json文件:

{ 
"require" : { 
"silex/silex": "^1.3", 
"monolog/monolog": "^1.4", 
"twig/twig": "^1.8", 
"symfony/twig-bridge": "^2", 
"alrik11es/cowsayphp": "^1.0" 
    }, 
    "require-dev": { 
"heroku/heroku-buildpack-php": "*" 
} 
} 

我知道这是一个简单的解决方案,但我一直在努力,现在解决了几个小时。提前致谢。

+0

你可以显示你的'composer.json'吗? – BVengerov

+0

当然 - 将添加到我原来的帖子。谢谢。 –

+0

似乎好..你有提交'composer.lock'文件吗? – BVengerov

回答

1

answer from SO应该这样做:

似乎Heroku的支持作曲家的只有最新版本。

composer self-update还有composer update(+ git add,+ git commit)应该解决这个问题。

+0

排序,非常感谢:) –