簡體   English   中英

heroku上的應用程序錯誤-未找到'composer.json'

[英]Application error on heroku - No 'composer.json' found

當我嘗試訪問我的heroku頁面時,它說

“應用程序錯誤應用程序中發生錯誤,無法提供您的頁面。如果您是應用程序所有者,請檢查日志以獲取詳細信息”

這是我的構建日志:

檢測到PHP應用程序! 警告:未找到“ composer.json”。 使用“ index.php”將應用程序類型聲明為PHP被認為是舊功能,可能會導致意外行為。 引導...正在安裝平台軟件包...注意:composer.lock中不需要運行時; 使用PHP ^ 5.5.17 Apache(2.4.20)Nginx(1.8.1)PHP(5.6.30)安裝依賴項... Composer版本1.4.1 2017-03-10 09:29:45准備運行時環境...注意:否Procfile,使用'web:heroku-php-apache2'。 正在檢查是否有其他擴展要安裝...正在發現進程類型Procfile聲明類型-> Web壓縮...已完成:13.9M啟動...已發布到Heroku的v119發布構建完成博客職業文檔

================================================== ======================

composer.lock文件不僅必須存在於本地,還必須提交。 這樣,當您推送到Heroku時,它將包括在內。

嘗試這樣的事情:

git add composer.lock
git commit -m "Add Composer lock file"
git push heroku

這是因為composer.json通常以某種模糊的方式指定依賴項,例如“無論最新的1.2.x版本是什么”或“ master分支上的最新提交”。 您可能可以想象,根據我們安裝依賴項的時間,您和我可能會得到不同的結果。

composer.lock文件的工作是以更嚴格的方式鎖定這些依賴項。 如果安裝了庫的最新1.2.x版本,則其精確版本會記錄在composer.lock中,例如“ Git hash 1234abc上的1.2.2版本”。

通常,除非您有意更新庫,否則最好使用composerinstall而不是composer update。 前者使用鎖定文件中的確切版本,並且不更新任何內容。 這樣,我們可以更有信心使用相同的庫。 后者更新新版本並更改鎖定文件。

我從未將Heroku與PHP一起使用,但是它想要安裝鎖定文件中列出的確切版本是有意義的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM