我遵循了类似主题(https://stackoverflow.com/a/17531897/4388482)的回答。好吧,我的应用程序已部署在Heroku上,但效果不佳。我收到以下警告
您的项目仅包含“ index.php”,没有“ composer.json”。 不推荐使用“ index.php”将应用程序类型声明为PHP,因为它可能导致意外行为。
也许我需要安装一些东西吗?
更新
项目结构最初是这样的:
我做了以下事情:
我收到以下警告
您的'composer.lock'已过期!
在项目中找到Composer供应商目录!
答案 0 :(得分:2)
Heroku的投诉是regarding this folder。
作为记录,当前此文件夹的内容为:
bootstrap
fontawesome-free
jquery-easing
jquery
这里发生的是某人已将依赖项提交到您的版本控制,这不是一个好习惯。它可以照原样工作,但是升级不是很容易,尤其是因为您无法轻易看到当前的版本。
有三种解决方法。
通过搜索Packagist来确定它们是否是PHP依赖项。 Bootstrap有 个Composer依赖项,但是您需要查看所使用的版本是否可用(或是否可以升级到可用的版本)。
通过搜索NPM来确定这些是否是JavaScript依赖项。我想知道如果您的package.json
的内容已被覆盖,是否值得检查。对于它的价值,我通常会考虑将这些候选库用于JavaScript库而不是PHP,但是会为您做些有用的事情。
选择将这些依赖项保留在现有vendor
文件夹中。它将起作用,但是由于已经说明的原因,它并不理想。
在后两种情况下,您可能会因此而放弃一个composer.json
文件,应该将其提交到存储库中。
{
"require": {
}
}
此后,您可以尝试使用composer install
,以查看它是否会在空的依赖项列表上生成.lock
文件。如果确实产生了,那么您也应该提交。