沉鈺发忠谦琪伦 发布于 2017-05-09 15:59

参考文档:http://docs.coding.io/languages/php

官方通过composer.json来配置PHP环境,例如:

{
    "require": {"php": "5.5.16"}
}

OK,这个没有问题,我也部署成功了。现在我要使用一个第三方开发包:https://packagist.org/packages/levi/lv,修改composer.json如下:

{
    "require" : {
        "php": "5.6.3",
        "levi/lv" : "dev-master",
        "ext-redis" : "*"
    }
}

就部署不成功了,错误提示如下:

2015-02-08T18:20:55.67+0800 [API]     OUT Updated app with guid d645cb8f-2ec6-404f-89e7-0795b8ede261 ({"state"=>"STOPPED"})
2015-02-08T18:22:23.10+0800 [DEA]     OUT Got staging request for app with id d645cb8f-2ec6-404f-89e7-0795b8ede261
2015-02-08T18:20:57.88+0800 [API]     OUT Updated app with guid d645cb8f-2ec6-404f-89e7-0795b8ede261 ({"state"=>"STARTED"})
2015-02-08T18:22:25.12+0800 [STG]     OUT -----> Downloaded app package (8.0K)
2015-02-08T18:22:25.31+0800 [STG]     OUT -------> Buildpack version 1.0.2
2015-02-08T18:22:25.48+0800 [STG]     OUT  !     ERROR:        Your composer.json specifies dependencies, but no composer.lock
2015-02-08T18:22:25.48+0800 [STG]     OUT        was found, please check it into your repository along with composer.json!
2015-02-08T18:22:25.48+0800 [STG]     OUT Staging failed: Buildpack compilation step failed
2015-02-08T18:20:58.56+0800 [API]     ERR Encountered error: Staging error: failed to stage application:
2015-02-08T18:20:58.56+0800 [API]     ERR Script exited with status 1

我看官方文档有段说明是这样的:

构建

系统会运行以下命令来解决依赖:

install --no-dev --prefer-dist --optimize-autoloader --no-interaction

好像是在部署的时候,默认就不执行安装开发包,那么请问如何在coding中安装一个第三方开发包呢?

1 个回答
  • 找到答案
    http://ryankent.ca/getting-started-with-laravel-and-php-on-heroku/
    http://mattstauffer.co/blog/installing-a-laravel-app-on-heroku

    原话如下:

    We might also run into some problems with composer because Laravel doesn't add composer.lock to git by default. If you get the following error when pushing to Heroku you need to make sure you remove composer.lock from your .gitignore so it can be pushed correctly.

    !     ERROR:        Your composer.json specifies dependencies, but no composer.lock
         was found, please check it into your repository along with composer.json!
    
    !     Push rejected, failed to compile PHP app
    

    意思是确保项目中没有composer.lock。

    修改.gitignore,将composer.lock传上来就好了

    2017-05-10 01:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    王丽珠景平怡伦_621
  • 8
    adfa3sd5f6a
  • 9
    欣欣大妮
  • 10
    sfasfs
PHP1.CN | 中国最专业的PHP中文社区 | json解析格式化 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有